javascript - 在 JavaScript 中使用重复的第一个子元素检索嵌套 id

标签 javascript jquery

我正在编写一个动态创建和命名表元素的 Web 应用程序,我需要检索和解析完全嵌套的 id(而不是值)。结构(以及我的最新尝试)是这样的:

<table>
      <tr onclick="alert(this.firstChild.firstChild.firstChild.id);">
         <td>
            <div>
                <input type="text" id="thisIsTheNeededID">
            </div>
         </td>
      </tr>
 </table>

它不断返回“未定义”,这证实了我的怀疑:我对 JavaScript 的了解不够深入。我也在使用 jQuery,所以这些解决方案可以工作。

最佳答案

如果您需要确切的:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table>
  <tr onclick="alert($(this).find('td:first-child').find('div:first-child').find('input:first-child').attr('id'));">
    <td>
      <div>
        <input type="text" id="thisIsTheNeededID">
      </div>
    </td>
  </tr>
</table>

这是一个内联 JavaScript,最好通过委派事件来使用不显眼的 JavaScript,并使代码和演示文稿分开,这样会更清晰。下面是一段不引人注目的 JavaScript 代码。

$(function () {
  $("table").on("click", "tr", function () {
    alert($(this).find('td:first-child').find('div:first-child').find('input:first-child').attr('id'));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <div>
        <input type="text" id="thisIsTheNeededID">
      </div>
    </td>
  </tr>
</table>

您无需继续为每个 <tr> 添加代码.

关于javascript - 在 JavaScript 中使用重复的第一个子元素检索嵌套 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31007532/

相关文章:

javascript - 将箭头键重置为默认行为

javascript - 相当于没有 jQuery 的 $.load

jquery - 单击事件在 Angular 5 中无法正常工作

javascript - 通过jquery ajax检查图像是否存在?

javascript - 多个 Javascript 模态

javascript - 使用 CSS 和 JavaScript 旋转盒子

javascript - 单击按钮时运行 PhantomJS 脚本

javascript - 如何从具有数字的链接中删除下划线但在具有字母的普通链接上保留下划线

javascript - 在 Sequelize 中将模型的条件与其关联的条件相结合

javascript - 如何使用 javascript 回显今天的警报?