Javascript 如何使用JQuery循环表元素并检索数据元素?

Javascript 如何使用JQuery循环表元素并检索数据元素?,javascript,jquery,Javascript,Jquery,我有一个html表格,在标准html 4.01过渡页面中如下所示: <table> <thead> <tr> <th>Col 1</th> <th>Col 2</th> <th>etc...</th> </tr> </thead> <tbody id="tableBodyID"> &

我有一个html表格,在标准html 4.01过渡页面中如下所示:

<table>
  <thead>
    <tr>
      <th>Col 1</th>
      <th>Col 2</th>
      <th>etc...</th>
    </tr>
  </thead>
  <tbody id="tableBodyID">
    <tr class="rowElement" data-element="some-data-here">
      <td>Some Table Data</td>
      <td>Some More Table data</td>
      <td>etc.</td>
    </tr>
    <tr class="rowElement" data-element="some-data-here">
      <td>Some Table Data</td>
      <td>Some More Table data</td>
      <td>etc.</td>
    </tr>
  </tbody>
</table>
欢迎任何帮助。我使用的是HTML4.01和jQuery1.7.1。我一直在Firefox中测试,但需要支持其他标准浏览器Firefox、Opera、Safari、Chrome和IE8+

为小的语法更改而编辑

实际问题是一个案例问题,请参见下面的评论。问题已解决。

使用.map和.get,可以将每个tr映射到元素数据属性中,以便获得这些值的数组。对于选择器,ID是最直接的,因为它直接指向tbody元素,您希望tr子元素:

使用.map和.get,您可以将每个tr映射到元素数据属性中,以便获得这些值的数组。对于选择器,ID是最直接的,因为它直接指向tbody元素,您希望tr子元素:

这对我很有用:

$('table').find('tbody > tr').each(function() {
  alert( $(this).data('element')); 
});

这可能不是最有效的方法,但是这对我来说很有效:

$('table').find('tbody > tr').each(function() {
  alert( $(this).data('element')); 
});


这可能不是最有效的方法,但是你的逻辑/调用对我来说很有效,但是你在语法上有一些问题,在“element”后面加括号s应为“元素”;选择器也需要被引用,缺少的tbody应该是“tbody”等

这个。请注意,我替换了对console.log的警报调用

在铬17中测试


您的代码与问题中的代码不同吗?

您的逻辑/调用对我来说很有效,但是您在语法方面有一些问题,在“element”后面加括号;'s应为“元素”;选择器也需要被引用,缺少的tbody应该是“tbody”等

这个。请注意,我替换了对console.log的警报调用

在铬17中测试


您的代码与问题中发布的代码不同吗?

如果您仍然有问题,请告诉我,我将根据需要更新我的答案。感谢您的帮助,我找到了解决方案,我的html非常复杂,因为它是从多个位置动态生成的,我正在制作一个样本,试图只显示与问题或感知问题相关的部分。该问题最终成为数据元素名称中的一个案例问题。当我生成标记时,我在名称中使用了大写字母,我不知道它是我正在使用的编程语言,还是浏览器、javascript或jquery,。。。但只有当我在名称中使用所有小写字母时,它才起作用。好东西,很高兴你修复了它,我对它的猜测将是jquery如果你仍然有问题,请告诉我,我会根据需要更新我的答案。感谢你帮我找到解决方案,我的html非常复杂,因为它是从多个地方动态生成的,我正在制作一个样本,试图只显示与问题或感知问题相关的部分。该问题最终成为数据元素名称中的一个案例问题。当我生成标记时,我在名称中使用了大写字母,我不知道它是我正在使用的编程语言,还是浏览器、javascript或jquery,。。。但它只有在名称中使用所有小写时才起作用。好东西,很高兴你把它修好了,我对它的猜测应该是jquery。这不完全是我想要的,但是它做得很好,我可能会改变我处理数据的方式来使用它。谢谢。这不是我想要的,但是它做得很好,我可能会改变我处理数据的方式来使用它。谢谢。我发现了我的答案,在我的数据元素中使用了错误的大小写。在我的html中,它是数据元素,我不知道它是浏览器、javascript还是jquery,但是数据元素被转换成了数据元素,所以当我调用我命名的var时,数据“元素”就有了这个名称的do数据元素。感谢所有的输入,我喜欢我看到的代码。但在本例中,这是一个简单的大小写错误。我发现了我的答案,在我的数据元素中使用了错误的大小写。在我的html中,它是数据元素,我不知道它是浏览器、javascript还是jquery,但是数据元素被转换成了数据元素,所以当我调用我命名的var时,数据“元素”就有了这个名称的do数据元素。感谢所有的输入,我喜欢我看到的代码。但在本例中,这是一个简单的案例错误。
$('table').find('tbody > tr').each(function() {
  alert( $(this).data('element')); 
});