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 检查相邻选择器的主要内容,如果未能解决你的问题,请参考以下文章

jQuery2

jQuery选择器

jQuery选择器详解

使用jquery,从更大的兄弟组中提取每组相邻的兄弟,匹配选择器

JQuery-选择器整理

jQuery选择器