jQuery / Javascript:我的'If'出了什么问题?

时间:2010-10-09 04:52:27

标签: javascript jquery conditional

我的代码中有一小块:

if(".level-0.find('.children').length == 1"){
     $(".level-0 > a").attr("href", ""); 
 };

基本上我说“如果等级0有一类'.children',不要在它的链接中重写HREF!”

问题在于它总是覆盖HREF,好像没有条件。我已经将“== 1”更改为“== 10000000”或“20”或“15”,它总是会覆盖HREF。它只是表现得好像没有条件陈述。我确定这是一个synatx傻瓜,但我看不到它。

再一次,感谢帮助n00b绊倒了最低限度的能力。这是我们希望改变的代码,仅用于上下文。

<li class="level-0 page_item page-item-264"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=264" title="Ca$h Rulez">Ca$h Rulez</a>
<ul class='children'>
    <li class="level-1 page_item page-item-266"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=266" title="1994">1994</a></li>
    <li class="level-1 page_item page-item-268"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=268" title="1995">1995</a></li>
    <li class="level-1 page_item page-item-270"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=270" title="1996">1996</a></li>
    <li class="level-1 page_item page-item-272"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=272" title="1997">1997</a></li>
    <li class="level-1 page_item page-item-274"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=274" title="1998">1998</a></li>
    <li class="level-1 page_item page-item-276"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=276" title="1999">1999</a></li>
    <li class="level-1 page_item page-item-278"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=278" title="2000">2000</a></li>
    <li class="level-1 page_item page-item-280"><a href="http://www.domain.com.php5-15.dfw1-1.websitetestlink.com/wordpress/?page_id=280" title="2001">2001</a></li>
</ul>
</li>

2 个答案:

答案 0 :(得分:9)

不应该是

if ($(".level-0").find('.children').length == 1) {
    $(".level-0 > a").attr("href", ""); 
}

周五晚上也许? :)

答案 1 :(得分:0)

你不能像那样使用你的条件,因为如果你有超过1 .level-0 ,那么 .level-0 和它之间没有任何关系的&gt;一种
如果您的条件只匹配一次,则将访问文档中的所有.level-0&gt; a。

$('>a',$(".level-0").has('.children'))

...如果 .level-0 至少包含1 ,则会选择 .level-0 的所有子项<a> 。儿童