Javascript HasClass在使用Addclass的元素上未检测到
我在divs中添加了一个“vidactive”类。一次只能有一个div拥有它。我现在尝试这样做:Javascript HasClass在使用Addclass的元素上未检测到,javascript,jquery,css,Javascript,Jquery,Css,我在divs中添加了一个“vidactive”类。一次只能有一个div拥有它。我现在尝试这样做: $('.kol-vid-select').click(function(){ var clicked = $(this); $('.kol-vid-select').removeClass('vid-active'); clicked.addClass('vid-active'); if($('.vid-active').hasClass('overview')){
$('.kol-vid-select').click(function(){
var clicked = $(this);
$('.kol-vid-select').removeClass('vid-active');
clicked.addClass('vid-active');
if($('.vid-active').hasClass('overview')){
$('#myvid').attr('src', 'http://player.vimeo.com/video/108161058?api=1&player_id=player1');
counter=0;
//alert('overview');
}
if($('.vid-active').hasClass('analysis')){
$('#myvid').attr('src', 'https://player.vimeo.com/video/125471793?api=1&player_id=player1');
counter=0;
//alert('analysis');
}
if($('.vid-active').hasClass('compelling')){
$('#myvid').attr('src', 'https://player.vimeo.com/video/125478290?api=1&player_id=player1');
counter=0;
//alert('compelling');
}
if($('.vid-active').hasClass('practical')){
$('#myvid').attr('src', 'https://player.vimeo.com/video/125483119?api=1&player_id=player1');
counter=0;
//alert('practical');
}
if($('.vid-active').hasClass('proven')){
$('#myvid').attr('src', 'https://player.vimeo.com/video/125483160?api=1&player_id=player1');
counter=0;
//alert('proven');
}
});
//------------------------------------------------------
var counter = 0;
$(function() {
//alert('in here');
var player = $('iframe');
var playerOrigin = '*';
var status = $('.status');
// Listen for messages from the player
if (window.addEventListener) {
window.addEventListener('message', onMessageReceived, false);
}
else {
window.attachEvent('onmessage', onMessageReceived, false);
}
// Handle messages received from the player
function onMessageReceived(event) {
//alert('lept going');
// Handle messages from the vimeo player only
if (!(/^https?:\/\/player.vimeo.com/).test(event.origin)) {
return false;
}
if (playerOrigin === '*') {
playerOrigin = event.origin;
}
var data = JSON.parse(event.data);
switch (data.event) {
case 'ready':
onReady();
break;
case 'playProgress':
onPlayProgress(data.data);
break;
}
}
// Helper function for sending a message to the player
function post(action, value) {
var data = {
method: action
};
if (value) {
data.value = value;
}
var message = JSON.stringify(data);
player[0].contentWindow.postMessage(data, playerOrigin);
}
function onReady() {
post('addEventListener', 'playProgress');
}
function onPlayProgress(data) {
//alert('Hello!');
if (true) {};
if (true) {};
if (true) {};
if (true) {};
if (true) {};
alert(counter);
if ($(".vid-active").hasClass("overview")&&(counter==0)) {
alert("This");
counter = counter + 1;
ga('send','event', 'KOL Video', 'Start', 'Chapter 1 - Overview');
};
if ($(".vid-active").hasClass("analysis")) {
alert("is");
counter = counter + 1;
ga('send','event', 'KOL Video', 'Start', 'Chapter 2 - Compounding');
};
if ($(".vid-active").hasClass("compelling")) {
alert("SPARTA");
counter = counter + 1;
ga('send','event', 'KOL Video', 'Start', 'Chapter 3 - FDA-Approved');
};
if ($(".vid-active").hasClass("practical")) {
alert("AAAAA!");
counter = counter + 1;
ga('send','event', 'KOL Video', 'Start', 'Chapter 4 - Co-pay');
};
if ($(".vid-active").hasClass("proven")) {
alert("!!!!!!!");
counter = counter + 1;
ga('send','event', 'KOL Video', 'Start', 'Chapter 5 - Epaned');
};
}
}))
但当我点击除第一个div以外的任何div时(从而激活它)。新的div从应用的“vidactive”中获取样式,但JQuery不会触发相应的警报
这是为什么?我该如何修复它
$(selector).click();
加载js时跟踪DOM中的元素。
要使用动态添加的元素侦听DOM,请使用:
$(selector).on('click', function (){
//your code here
});
提示:如果只有一个元素可以有一个类,可能您可以使用ID。这只是正确逻辑的建议。多个元素可以有一个类,但id只能用于一个元素
相关问题:这是否与某个事件有关?您的代码未编译,如果($(“.vid active”).hasClass(“overview”)&&(counter==0){未匹配的parensIt嵌套在“playProgress”中,则会出现语法错误
使用vimeo API的事件。@Rambo8000显示HTML和调用的代码事件处理程序是在文档准备就绪时触发的代码?它可能会因此失败。这也发生在我身上,因此损失了五个小时。