2011-04-08 92 views
1

我试图检查相邻(下)选择的存在,但我清楚地写它不正确......jQuery的检查相邻选择

我的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和我的第二个没有显示在所有...

+0

二是无法显示,因为'的jQuery( “div.about”)。 next()。hasClass(“。related”)'为false。它不会进入你的'if'块 – Homer 2011-04-08 15:25:07

+0

为什么你会期望第二个控制台命令运行,如果第一个返回false,这就是你检查的条件?也可以使用较短的语法'jQuery(“。about + .related”))'。你现在666的代表正在吓跑我...... :) – 2011-04-08 15:25:31

回答

3

它应该没有点。 hasClass不采取选择,但只是类的名称:

jQuery("div.about").next().hasClass("related") 

或者:

jQuery("div.about").next('.related').length > 0 
+0

哇谢谢你!我会在接下来的45分钟内盯住这一点,但没有弄清楚。 – redconservatory 2011-04-08 15:32:52

+0

@redconservatory:不客气:) – 2011-04-08 15:33:37

0

也许试试这个吧。

jQuery("div.about").next().hasClass("related"); 

刚落.

0

你并不需要在你的.hasClass选择的.

jQuery(document).ready(function() { 
    console.log(jQuery("div.about").next().hasClass("related")); 
    if (jQuery("div.about").next().hasClass("related")) { 
     console.log("do something"); 
    } 
});