我使用下面的查詢:使用XPath選擇第n個元素是返回更多結果則預計
//*[contains(concat(" ", normalize-space(@class), " "), " sub-category-wrap ")][1]/dl/dt
這應該選擇第一個.sub-category-wrap
並返回它的/dl/dt
內容。理想情況下,這將是:
Yarn
Mice
出於某種原因,它返回:
Yarn
Mice
Fast Tires
Fancy Paint
所以,出於某種原因,它抓住從dt
的兩個.clear-wrap
元素的內容。我似乎無法得到它從第n .sub-category-wrap
選擇dt
的。
注意: xpath查詢中的[1]
選擇器實際上是我的代碼中的一個變量,因此請記住您提供的解決方案。
<div class="clear-wrap">
<div class="sub-category-wrap">
<h3>Cats</h3>
<dl>
<dt>Yarn</dt>
<dd><!-- Content --> </dd>
<dt>Mice</dt>
<dd><!-- Content --></dd>
</dl>
</div>
<div class="sub-category-wrap">
<h3>Dogs</h3>
<dl>
<dt>Kibbles</dt>
<dd><!-- Content --> </dd>
<dt>Drool</dt>
<dd><!-- Content --></dd>
</dl>
</div>
</div>
<div class="clear-wrap">
<div class="sub-category-wrap">
<h3>Cars</h3>
<dl>
<dt>Fast Tires</dt>
<dd><!-- Content --> </dd>
<dt>Fancy Paint</dt>
<dd><!-- Content --></dd>
</dl>
</div>
<div class="sub-category-wrap">
<h3>Trucks</h3>
<dl>
<dt>Mud Tires</dt>
<dd><!-- Content --> </dd>
<dt>Loud Pipes</dt>
<dd><!-- Content --></dd>
</dl>
</div>
</div>
就像澄清一樣,'// * [contains(..)] [2]'和'// * [contains(..)] [3]'的結果應該是什麼? – 2013-07-09 01:48:40