0

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

$('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 来完成上述任务?

4

1 回答 1

0

当你找到第一个 td 标签后,你可以在 JS 中访问下一个标签

yourTd.nextSibling

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

如果你想从标签到达那里,你首先必须得到父级,然后是兄弟级:

yourLabel.parentElement.nextSibling

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

于 2013-01-27T10:19:51.247 回答