为什么这个 jquery 不起作用?

发布于 2024-10-01 08:05:33 字数 226 浏览 8 评论 0原文

$(function () {

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

});

我的意思是它可以工作,但是如果我取出 #slideshow 它仍然会添加该类吗?

我尝试过删除课程。

$(function () {

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

});

I mean it works, but if i take out #slideshow it will still add the class?

I tried else remove class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

囚我心虐我身 2024-10-08 08:05:33

如果你想检查一个元素是否存在,那么你可以使用 .length该元素选择器的 属性。

这段代码怎么样

if ($("#slideshow").length > 0)
{
    $('.topBox').addClass('home'); 
}

If you want to check the existence of an element then you can use .length property for that element selector.

What about this code

if ($("#slideshow").length > 0)
{
    $('.topBox').addClass('home'); 
}
月亮是我掰弯的 2024-10-08 08:05:33

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

您想检查它是否返回任何匹配的元素,因此您需要:

if(jQuery('body').find(...).size())

The return value from jQuery('body').find(...) will always be true as it returns a jQuery object.

You want to check if it returns any elements that match, so you want:

if(jQuery('body').find(...).size())
倦话 2024-10-08 08:05:33
if($('body').find('#slideshow')) {}

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

if($('body').find('#slideshow').length) {}
if($('body').find('#slideshow')) {}

will always evaluate as true. $('body').find('#slideshow') does return something: an object (even if its an empty object). Instead, test the length of the object:

if($('body').find('#slideshow').length) {}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文