2015-04-21 7 views
-1

У меня есть код ниже, который, кажется, работает неправильно. Видео должно воспроизводиться только в том случае, если нет пустых разделов, и если ни один из этих Divs не имеет класса «неправильно», однако в настоящее время видео воспроизводится при нажатии кнопки. Он полностью игнорирует условия и всегда играет, когда нажата кнопка запуска.Если условия выполнены, воспроизведение видео не работает

поэтому код указывает, что при нажатии кнопки «Запуск», если Divs, начинающиеся с «Drop», не являются пустыми и не имеют класса «неправильный», воспроизводите видео map1.

Я пробовал, и я не могу понять, почему он полностью игнорирует условия.

ЯШ:

$("#run").click(function(){  
    if ($("[id^='Drop']").not(":empty") && $("[id^='Drop']").not(".wrong")){ 
    $('#map1').get(0).play(); 
    }; 
}); 
+0

вы можете предоставить скрипку или любой жидкий HTML DOM –

+0

Вы уверены, что вы получаете в вашем Если блоке? #run имеет событие по умолчанию, которое необходимо предотвратить (с event.preventDefault())? –

+0

кнопка запуска также выполняет 2 другие функции? может ли это быть причиной проблемы. – TryingAtCode

ответ

0

Использование нескольких идентификаторов не valied, классов используют вместо

Вы можете цепь выбора и отфильтровать :empty и .wrong в целом и проверить длину обратных элементов, если она равна нулю

$("#run").click(function(){  
    if ($("[id^='Drop']").filter(":empty").filter(".wrong").length==0){ 
    alert("yes") 
    }; 
    }); 

Демо:

$("#run").click(function(){  
 
    if ($("[id^='Drop']").filter(":empty").filter(".wrong").length==0){ 
 
    alert("yes") 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="Drop"> 
 
<p>asas</p> 
 
</div> 
 
<div id="Drop"> 
 
<p>asas</p> 
 
</div> 
 
<button id="run"> run </button>

Смежные вопросы