在单独的 <td> 中查找特定元素之后显示的元素

Find element that appears after a specific element in a separate <td>

本文关键字:元素 之后 显示 查找 单独 td      更新时间:2023-09-26

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

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

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

以下是 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>

我首先找到了带有"名字"文本的标签。 然后我想找到下一个<td>标签中的<input>

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

当你找到第一个td标签时,你可以用JS访问下一个标签

yourTd.nextSibling

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

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

yourLabel.parentElement.nextSibling

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