+ -
当前位置:首页 → 问答吧 → 方向选择

方向选择

时间:2009-06-09

来源:互联网

<ul class="myList">  
<li><a href="http://jquery.com">jQuery supports</a>    
<ul>    
<li><a href="css1">CSS1</a></li>
<li><a href="css2">CSS2</a></li>      
<li><a href="css3">CSS3</a></li>      
<li>Basic XPath</li>    
</ul>  
</li>  
<li>jQuery also supports
<ul>      
<li>Custom selectors</li>      
<li>Form selectors</li>    
</ul>  
</li>
</ul>


页面代码如上所示,选择包含a的时候jquery语句是$("ul.myList li:has(a)") 经过测试成功。
但是如果要选择非a的时候 $("ul.myList:not(li:has(a))"),经过测试怎么也不对。请问应该要怎么弄呀??

作者: dwtmtdh   发布时间: 2009-06-09

$("ul.myList:not(li:has(a))")

这个是指选择class为myList的ul,且不是带a的li
ul肯定不是li,所以not等于白写了

你想要的可以这样写:
$('ul:not(ul:has(li>a))')
$('ul:not(ul:has(li a))')
$('ul:not(ul:has(li):has(a))')

注意这里我没写.myList,因为目前你的.myList肯定包含了a,所以绝对选不到的

作者: keakon   发布时间: 2009-06-09

谢谢啊,
但是我测试了上面3种方法都不行。

作者: dwtmtdh   发布时间: 2009-06-10

你是要选择不包含a的li?

$("ul.mylist li:not(li:has(a))")这样吧

作者: spraus   发布时间: 2009-06-10

引用
引用第2楼dwtmtdh于2009-06-10 09:17发表的  :
谢谢啊,
但是我测试了上面3种方法都不行。

我自己测试都是可以的=。=

作者: keakon   发布时间: 2009-06-10

恩,我是要选择不包含a 的li
啊,
太郁闷了。
我买了本jquery实战的书,它提供了一个测试选择器的页面程序,我在上面测试没有通过

作者: dwtmtdh   发布时间: 2009-06-10

相关阅读 更多