jQuery 检查相邻选择器
Posted
技术标签:
【中文标题】jQuery 检查相邻选择器【英文标题】:jQuery check for adjacent selector 【发布时间】:2011-04-08 15:19:20 【问题描述】:我正在尝试检查是否存在相邻(下一个)选择器,但我显然写错了......
我的 html
<div id="container">
<div class="about"></div>
<div class="related"></div>
</div>
我的 jQuery:
jQuery(document).ready(function()
console.log(jQuery("div.about").next().hasClass(".related"));
if (jQuery("div.about").next().hasClass(".related"))
console.log("do something");
);
我的第一个 console.log 显示 FALSE 而我的第二个根本没有显示...
【问题讨论】:
第二个没有显示,因为jQuery("div.about").next().hasClass(".related")
是假的。它不会进入您的 if
块
如果第一个控制台命令返回 false,您为什么希望第二个控制台命令运行,这就是您要检查的条件?你也可以使用更短的语法jQuery(".about + .related"))
。你现在在 666 的代表把我吓跑了...... :)
【参考方案1】:
它应该没有点。 hasClass
不带选择器,只带类名:
jQuery("div.about").next().hasClass("related")
或者:
jQuery("div.about").next('.related').length > 0
【讨论】:
哇,谢谢!在接下来的 45 分钟里,我会一直盯着这个看,却没有弄清楚。【参考方案2】:不妨试试这个。
jQuery("div.about").next().hasClass("related");
只需删除.
【讨论】:
【参考方案3】:您的 .hasClass 选择器中不需要 .
jQuery(document).ready(function()
console.log(jQuery("div.about").next().hasClass("related"));
if (jQuery("div.about").next().hasClass("related"))
console.log("do something");
);
【讨论】:
以上是关于jQuery 检查相邻选择器的主要内容,如果未能解决你的问题,请参考以下文章