没有jQuery的答案,因为我在这个网站上没有使用它。
我有一般表格的表格
<tbody><tr><td>2</td><td><a href="http://www.anime-planet.com/anime/ah-my-goddess">Ah! My Goddess</a></td></tr></tbody>
我需要访问&#39; a&#39;的内部文字。元素,我不知道该怎么做。我想使用querySelectorAll但显然,因为该表是由javascript通过ajax生成的,所以我不能这样做。这让我不知道如何找到一个元素,更不用说对其文本内容进行排序,例如“啊!”我的女神&#39;。需要注意的是,有更多这样的表行,具有相同的基本模式。
答案 0 :(得分:0)
不使用jQuery,您可以尝试使用它所基于的函数的根。例如用以下内容替换选择器:
document.querySelectorAll('td').textContent
答案 1 :(得分:0)
我假设您可以通过id引用该表:
var t = document.getElementById(/*table id*/);
var d = t.tBodies[0].rows; // is an HTMLCollection, kinda like an array
d = [...t.tBodies[0].rows]; // converts it into an array of rows
一旦它在一个数组中,你可以对行做类似数组的事情,比如sort()
他们
现在,查看第一行d[0]
并假设锚点始终位于第二列,锚点可以称为:
var a = d[0].cells[1].getElementsByTagName('a')[0];
并且开/关标签内的文字是:
a.innerHTML; // In this case: 'Ah! My Goddess'
将其中一些放在一起,按字母顺序排序可以是:
var byAnchorText = (a, b) => a.cells[1].getElementsByTagName('a')[0].innerHTML - b.cells[1].getElementsByTagName('a')[0].innerHTML;
var t = document.getElementById(/*table id*/);
Array.sort.apply(t.tBodies[0].rows, byAnchorText);
或类似的东西,您可以根据需要进行修复。