我们根据实例来解释jquery选择器(selectors)中xpath几种常用的用法
比如下面html代码
<ul>
<li class="aaaa" title="ttt">li-1</li>
<li class="bbbb">li-2</li>
<li title="fffff">li-2</li>
</ul>
<div class="aaaa" title="ttt">li-1</div>
<div class="bbbb">li-2</div>
<div title="fffff">li-2</div>
---------------------------
第一种根据属性选择E[@attr]
$("[@title]").click()..........
即选择所有元素内 属性带有title的元素
即
<li class="aaaa" title="ttt">li-1</li>
<li title="fffff">li-2</li>
<div class="aaaa" title="ttt">li-1</div>
<div title="fffff">li-2</div>
$("div[@title]").click()..........
选择所有div标签下的所有带title的元素
即
<div class="aaaa" title="ttt">li-1</div>
<div title="fffff">li-2</div>
第二种根据属性值选择E[@attr=val]
$("div[@title=ttt]").click()................
选择div下所有title属性等于ttt的元素
即
<div class="aaaa" title="ttt">li-1</div>
如果是 $("[@title=ttt]").click()................
所有元素下属性title等于ttt的元素
<li class="aaaa" title="ttt">li-1</li>
<div class="aaaa" title="ttt">li-1</div>
第三种根据属性值开始字母选择E[@attr^=val]
$("div[@title^=t]").click()................
所有div元素下所有属性title值是以t为开头的元素
第三种根据属性值结尾字母选择E[@attr$=val]
$("div[@title$=t]").click()................
所有div元素下所有属性title值是以t为结尾的元素
第三种根据属性值包含字母选择E[@attr*=val]
$("div[@title*=t]").click()................
所有div元素下所有属性title值是包含t的所有元素
第三种根据多个属性选择E[@attr=val][@attr=val]
$("div[@title=ttt][@class=aaaa]").click()................
所有div元素下所有属性title值是等于ttt并且属性class等于aaaa的元素
文章来自:http://bbs.cnjquery.com/viewthread.php?tid=43&extra=page%3D1&frombbs=1