查找单独出现在特定元素之后的元素

时间:2013-01-27 10:15:55

标签: javascript jquery selenium-rc

我首先使用此代码查找具有特定文本内容的元素:

$('someElement').filter(function() {
  return $(this).text() == 'Some text';
});

然后,我想找到下一个<input>标记内的<td>元素。

以下是HTML代码:

<tr>
    <td>
        <label for="SH_Request_First_Name">
            First name <span class="required">*</span>
        </label>
    </td>
    <td colspan="2">
        <input type="text" name="SH_Request_First_Name" id="SH_Request_First_Name"
        value="" size="38" maxlength="50" onchange="validatePresent(this, 'SH_Request_First_Name_Note');"
        /> <span id="SH_Request_First_Name_Note">&nbsp;</span>

    </td>
</tr>

我首先找到带有文字“名字”的标签。然后,我想找到下一个<input>代码中的<td>

是否可以在JavaScript中执行上述任务,而不是jQuery?

1 个答案:

答案 0 :(得分:0)

当您找到第一个td标签时,您可以使用

访问JS中的下一个标签
yourTd.nextSibling

这将返回文档中的下一个标记。

如果你想从标签那里到达那里,首先要得到父母,然后是兄弟姐妹:

yourLabel.parentElement.nextSibling

但是如果您多次更改HTML构造,则此构造很容易出错。我建议使用jQuery并通过一个特定的css类或类似的东西进行选择,因此它不必完全是下一个元素,只是下一个具有该css类的元素之一。