javascript - jQuery - 关闭 anchor 标记后获取文本

标签 javascript jquery

我有一个像这样的表:

<table border="1" width="40%">
   <tbody>
      <tr class="child-row123" style="display: table-row;">
         <td class="monsters">Monster</td>
         <td class="monsters">
            <a data-name="Megalosmasher X" target="_blank">Megalosmasher X</a> x3<br>
            <a data-name="Danger! Nessie!" target="_blank">Danger! Nessie!</a> x2<br>
            <a data-name="Kuriboh" target="_blank">Kuriboh</a> x1<br>
            <a data-name="Dark Magician" target="_blank">Dark Magician</a> x3<br>
         </td>
      </tr>
   </tbody>
</table>

我目前正在使用 jquery get 从 data 中提取所有名称。属性。 但是,我还需要查看它被引用的次数(x3、x2 或 x1),它们是独立的文本节点。

这是我的循环:

jQuery(".child-row123 a[data-name]").each(function(){
    var dataname = jQuery(this).data('name');

    //Alert
    if(!jQuery.isNumeric(dataname)){
        alert(dataname);  
    }
});

使用 jQuery,是否可以获取 x3、x2 或 x1 文本节点旁边的数据名称?我正在尝试从逻辑上弄清楚它,我猜我需要查看每个 anchor 标记的末尾?

最佳答案

尝试使用 DOM 函数 .nextSibling 选取下一个节点并使用 nodeValue 获取“引用的(x3、x2 或 x1)”

来源:How to get text node after element?

jQuery(".child-row123 a[data-name]").each(function() {
  var dataname = jQuery(this).data('name');
  var nodetext = jQuery(this)[0].nextSibling.nodeValue;

  //Alert
  if (!jQuery.isNumeric(dataname)) {
    console.log("Data: " + dataname + "\nreferenced: " + nodetext);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1" width="40%">
  <tbody>
    <tr class="child-row123" style="display: table-row;">
      <td class="monsters">Monster</td>
      <td class="monsters">
        <a data-name="Megalosmasher X" target="_blank">Megalosmasher X</a> x3<br>
        <a data-name="Danger! Nessie!" target="_blank">Danger! Nessie!</a> x2<br>
        <a data-name="Kuriboh" target="_blank">Kuriboh</a> x1<br>
        <a data-name="Dark Magician" target="_blank">Dark Magician</a> x3<br>
      </td>
    </tr>
  </tbody>
</table>

关于javascript - jQuery - 关闭 anchor 标记后获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59427198/

相关文章:

javascript - 如何使用javascript添加两个文本框值

javascript - 使用 Angular bootstrap 的 TYPEAHEAD 插件和 ng-change 获取选定的值

javascript - Jquery 悬停在标签上持续触发

javascript - 从横向格式的 HTML 页面制作 PDF

相当于 C# LINQ Select 的 Javascript

javascript - 将 C++ 函数传递给 emscripten 中的 javascript 函数

javascript - jQuery "Uncaught URIError: URI malformed"表情符号错误

javascript - 无法通过 JavaScript 转换在文本框中输入浮点值

javascript - D3 : How to add labels top of in each bar in grouped bar chart

jquery - 如何从测试中排除IE9或更高版本?