У меня есть следующая структура:
<table> ... <tr><td><input name="email" /></td></tr> ... </table>
Вопрос: каково выражение для выбора tr в зависимости от атрибута «name» тега «input»? В частности, я хочу знать, есть ли способ сделать это без необходимости выбора ввода, а затем перейти к выполнению иерархии -> parentNode-> parentNode … Спасибо заранее.
Использование :
//table/tr[td/input/@name = 'email']
Это означает :
Выделите все элементы tr
которые являются дочерними элементами table
и у которых есть дочерний td
, у которого есть дочерний input
с name
arrtibute, значением которого является строка 'email'
.
Обратите внимание : в выражении не используется обратная ось.
Пытаться:
//input[@name="mail"]/ancestor::tr[1]
Примечание: запрос XPATH-> не возвращает определенный элемент, он возвращает nodeList (также, если ясно, что внутри есть только один элемент). Вам нужно будет выбрать элемент, используя
nodeList->item(0);//returns the first item of the nodeList.