我正在运行此代码:
if (div == '') {
console.log("hi"),
document.getElementById('divd').innerHTML = first,
$('draggablelamb').addClass('fade'),
$('droppable').addClass('bowl');
}
当用户按下按钮时(我遗漏了变量以及elseif
和else
语句)。但是,当我在浏览器中运行它时,它只会超过前两行代码(console.log("hi")
和document.getElementById('divd').innerHTML = first
),然后跳过其余代码并转到下一个elseif
。它为什么这样做?我怎么能阻止它这样做?
更新
我现在知道它使用了以下所有代码行:
console.log("Hi");
document.getElementById('divd').innerHTML = first;
console.log("Hello again");
$('draggablelamb').addClass('fade');
console.log("Bonjour");
$('droppable').addClass('bowl');
console.log("Guten Tag");
但也许不执行它?
答案 0 :(得分:0)
您的选择器正在寻找元素 draggablelamb
和droppable
,但他们找不到任何内容,因为HTML中没有这样的元素。
搜索不存在的东西会导致空的jQuery对象,它仍会接受会改变其中元素的调用,并且什么都不做。
如果您正在寻找具有这些名称的类的元素,那么您需要在选择器中的类名之前使用句号:
$('.draggablelamb').addClass('fade');
$('.droppable').addClass('bowl');
另外,正如Rajaprabhu Aravindasamy指出的那样,Javascript中的语句之间不使用逗号。虽然它在这种情况下仍然可以工作,因为可以在表达式之间使用逗号运算符,但在其他情况下会导致问题。
答案 1 :(得分:0)
if (div == '') {
console.log("hi");
$('#divd').html(first);
$('.draggablelamb').addClass('fade');
$('.droppable').addClass('bowl');
}
1。您在每行末尾都有逗号,
。它应该是分号;
。
2。您是按类选择元素但缺少完整类选择器.
。所以你应该$('draggablelamb')
时$('.draggablelamb')
。
3. 您已经为选择器使用了jQuery,因此您也可以使用jQuery编写innerHTML。像这样$('#divd).html(first);
。