javascript - 如何通过自定义属性获取另一个元素内元素内的文本

标签 javascript jquery html onclick

我试图通过 JQuery 的父属性 (data-id) 获取元素的文本,但是,我无法获取它。

这是我到目前为止尝试过的:

function getNum() {
  return "1234asd";
}

function show() {
  console.log($("tr[data-id="+getNum()+"] > td > label").text());
  //Console should print "Text1"
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr data-id="1234asd">
    <td>
      <label>Text1</label>
    </td>
    <td>
      <label>Text2</label>
    </td>
  </tr>
  <tr data-id="5678fgh">
    <td>
      <label>Text3</label>
    </td>
    <td>
      <label>Text4</label>
    </td>
  </tr>
</table>

<button onClick="show()">Click me</button>

我期待代码打印 Text1 但它什么也没打印(一个空字符串)。

最佳答案

您可以使用 Deepak Singh 提到的方法或者你可以使用 .first()的 JQuery

HTML

<table>
    <tr data-id="1234asd">
        <td>
            <label>Text1</label>
        </td>
        <td>
            <label>Text2</label>
        </td>
    </tr>
</table>
<button onClick="show()">Click me</button>

JS

function getNum() {
  return "1234asd";
}

function show() {
  console.log($("tr[data-id="+getNum()+"] td").first().text());
  //Console prints "Text1"
}

关于javascript - 如何通过自定义属性获取另一个元素内元素内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55807002/

相关文章:

javascript - 如何在网页上的谷歌地图上添加地址?

html - 水平列表的响应式分隔符

JavaScript 没有获取所有 cookie

javascript - 为什么在我的网页上看不到我动态添加的 iron-pages 元素?

javascript - 选择下一个列表组并更改数据状态

jquery - 如何从 Iframe 获取 HTTP 状态?

javascript - JQuery Window.Opener

Javascript 日期时间比较返回 false 但分支 stmt 仍然执行

javascript - 三星 SDK 中对象 ID 的奇怪错误

html - Bootstrap 中的 float div