2017-10-19 73 views
0

對於這種一般結構:爲什麼下面的兄弟表達式不正確?

<div class="col-xs-10"> 
    <input id="This[0].That" name="This[0].That" ng-model="item.That"> 
</div> 
<div class="col-xs-2"> 
    <input ng-click="removeThat(item)" value="Remove"> 
</div> 

爲什麼這個特殊的語法無效:

//input[@id='This[0].That']/following-sibling::/../input[@value="Remove"] 

+0

刪除輸入的ng-click值爲「removeThat(item)」是dom中唯一的值嗎? – JOberloh

+0

它目前是(其他人可以通過用戶控件添加) – MaxRussell

回答

1

要回答你直接的問題,你得到的XPath語法錯誤,因爲following-sibling::必須跟一個的NCName如input

`following-sibling::input` 

但是,請注意,您的樣本HTML的input元素不兄弟姐妹。

你可以通過使用following::軸改爲選擇基於第一第二input

//input[@id='This[0].That']/following::input[@value="Remove"] 

當然,僅僅用小樣本,一個簡單的XPath就足夠了:

//input[@value="Remove"] 
0

只是增加了什麼kjhuges表示,如果利用後面第一輸入到船錨你的理由是,因爲有多個 //input[@value='Remove']元素,你可以隨時使用索引來找到他們或MOD ifier tags

(//input[@value='Remove'])[index] 

//input[@value='Remove'])[last()] 
相關問題