$(function () {
if($('body').find('#slideshow')) {
$('body').find('.topBox').addClass('home');
}
});
我的意思是它有效,但是如果我拿出#slideshow
它还会添加这个类吗?
我试过删除课程。
答案 0 :(得分:2)
如果要检查元素是否存在,则可以对该元素选择器使用.length
属性。
这段代码怎么样?
if ($("#slideshow").length > 0)
{
$('.topBox').addClass('home');
}
答案 1 :(得分:1)
jQuery('body').find(...)
的返回值将始终为true,因为它返回一个jQuery对象。
您想检查它是否返回任何匹配的元素,因此您需要:
if(jQuery('body').find(...).size())
答案 2 :(得分:1)
if($('body').find('#slideshow')) {}
总是评估为真。 $('body')。find('#slideshow')确实返回一些东西:一个对象(即使它是一个空对象)。相反,测试对象的长度:
if($('body').find('#slideshow').length) {}