2

我有一些html,如下所示:

<html>
<body> 
... other html stuff ...
<form method="post" action="goSomewhere">
    <input type="hidden" value="something">
    <input type="hidden" value="something2">
<table>
    <tr><td><input type="checkbox" name="123">Stuff 1</td></tr>
    <tr><td><input type="checkbox" checked name="456">Stuff 2</td></tr>
    <tr><td><input type="checkbox" name="789">Stuff 3</td></tr>
</body> 
</html>

我正在尝试选择<form>除具有特定名称的标签(即innerhtml)之外的所有内容。这是我正在使用的查询:

$query = "//form//td[not(normalize-space() = 'Stuff 2')]"; 

这成功地过滤了特定<td>的内容,但问题是它只返回内容<td>。如您所见,还有其他<input>不在其中的<table>,我也需要这些。

任何人都可以帮助这个查询吗?谢谢!

4

1 回答 1

0

您正在寻找//form//td[not(normalize-space() = 'Stuff 2')]/input|//input[not(ancestor::table)].

于 2015-12-30T17:36:41.283 回答