为什么这个 jquery 不起作用?
$(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果你想检查一个元素是否存在,那么你可以使用
.length
该元素选择器的 属性。这段代码怎么样
If you want to check the existence of an element then you can use
.length
property for that element selector.What about this code
jQuery('body').find(...)
的返回值将始终为 true,因为它返回 jQuery 对象。您想检查它是否返回任何匹配的元素,因此您需要:
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:
将始终评估为 true。 $('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: