我希望编写一个包含一组更改值的网站的脚本。我试图弄清楚如何一次只调用其中一个条目中的文本值。
其中任何一个都可以是这样的
<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>
tr
是td
的父级,td
内的文字值是我想要看到的内容
我遇到的唯一问题是在此期间存储了多达20个条目,并且它们可能看起来与其他类似的类和父级相同,唯一的区别是随机数值...
我在想,如果我可以同时拉出它们然后创建一个带有这些值的数组,我可以做我需要做的事情,但我有点难过。
我是javascript和jquery的新手,这对我来说是一次学习经历。谢谢你的帮助!
答案 0 :(得分:1)
如果您想了解一些原生JS技术,最好的办法是使用document.querySelectorAll
。还有其他一些方法可以获得您想要的元素(getElementsByClassName
和getElementsByTagName
),但它们与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 innertext
或textcontent
基本相同。
如果要使用所有值进行处理,可以使用jquery selector each()
函数。
$("tr td").each(function (index , element) {console.log($(element).text())})
这将循环遍历所有元素并将其值打印到控制台,但您可以修改函数以对值进行求和,将它们放入数组中,或者其他任何内容。