我有一个非常奇怪的行为,当我尝试获取某些div
元素的文本时,在链接多个 jQuery 函数时,我得到了所有以前的“匹配项”。
这是我的代码:
var rows = $("tr");
var groups = [];
for (var i = 0;i<rows.length;i++){
if(rows.eq(i).html().toString().match(/TV/i)){
groups += rows.eq(i).find(":first-child div").text();
}
}
console.log(groups);
现在,我期望的输出只是匹配表行的第一个子项中包含的 div 中包含的文本。我确实在控制台中得到了这个结果,但在此之前我得到了所有的文本tr
,所有匹配tr
的(.eq(i)
),所有 td 的(:first-child
是 a td
),所有div
s 和 THEN 在输出的最后一位我得到的文本包含在第一个div
.
所以groups
是持有所有的东西,就像我会做这样的事情:
groups += rows.eq(i)
groups += rows.eq(i).find(":first-child")
groups += rows.eq(i).find("div")
groups += rows.eq(i).find("div").text();
我对 jQuery 还很陌生,只使用了标准的 JavaScript 选择器 where getElementById("myID").getElementsByTagName("div")[0].innerHTML
, 只会给我innerHTML
第一个div
,myID
没有别的。
为什么会发生这种情况,我怎样才能得到我真正想要的东西?