从某个类中查找值(HTML)

时间:2017-09-25 13:16:34

标签: javascript jquery html tampermonkey

我希望编写一个包含一组更改值的网站的脚本。我试图弄清楚如何一次只调用其中一个条目中的文本值。

其中任何一个都可以是这样的

<tr ng-repeat="(key, game) in crash.games.slice().reverse()" class="" style="">
<td ng-if="::game.crash > 199" class="crashHighResult">RANDOM NUMBER THAT I WANT TO SEE</td>

trtd的父级,td内的文字值是我想要看到的内容

我遇到的唯一问题是在此期间存储了多达20个条目,并且它们可能看起来与其他类似的类和父级相同,唯一的区别是随机数值...

我在想,如果我可以同时拉出它们然后创建一个带有这些值的数组,我可以做我需要做的事情,但我有点难过。

我是javascript和jquery的新手,这对我来说是一次学习经历。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

如果您想了解一些原生JS技术,最好的办法是使用document.querySelectorAll。还有其他一些方法可以获得您想要的元素(getElementsByClassNamegetElementsByTagName),但它们与forEach的播放效果几乎与前者不同。

所以,抓住元素:

let cells = document.querySelectorAll('td');

循环遍历该节点列表:

cells.forEach(function (cell) {
  console.log(cell.textContent);
});

目前,代码只是将文本内容(您的随机数)记录到控制台,但您可以了解现在可以对该数据执行的操作。

例如,要获取最后一个(最近的?)随机数(节点列表中的最后一个单元格),您将使用:

let rnd = cells[cells.length - 1].textContent;

希望这可以帮助你。

答案 1 :(得分:1)

如果您需要选择表中的第一个tr td来获取值,则可以使用jQuery选择所有tr td元素,然后指定第一个元素。

$("tr td").first().text();

此选择器在遍历dom时查找所有tr td元素,因此它将首先在表中找到顶行。 first()函数返回找到的第一个元素的jquery对象。 text()获取td代码中的任何文字,与js innertexttextcontent基本相同。

如果要使用所有值进行处理,可以使用jquery selector each()函数。

$("tr td").each(function (index , element) {console.log($(element).text())})

这将循环遍历所有元素并将其值打印到控制台,但您可以修改函数以对值进行求和,将它们放入数组中,或者其他任何内容。