0
$(function () {

    if($('body').find('#slideshow')) {
        $('body').find('.topBox').addClass('home');   
    }

});

我的意思是它有效,但如果我取出#slideshow它仍然会添加课程?

我尝试了其他删除课程。

4

3 回答 3

2

如果要检查元素是否存在,则可以使用.length该元素选择器的属性。

这段代码怎么样

if ($("#slideshow").length > 0)
{
    $('.topBox').addClass('home'); 
}
于 2010-11-10T06:33:37.557 回答
1

from 的返回值jQuery('body').find(...)将始终为 true,因为它返回一个 jQuery 对象。

你想检查它是否返回任何匹配的元素,所以你想要:

if(jQuery('body').find(...).size())
于 2010-11-10T06:35:08.497 回答
1
if($('body').find('#slideshow')) {}

将始终评估为真。$('body').find('#slideshow') 确实返回了一些东西:一个对象(即使它是一个空对象)。相反,测试对象的长度:

if($('body').find('#slideshow').length) {}
于 2010-11-10T06:35:45.077 回答