jQuery parents()在Firefox和Chrome中具有不同的输出

时间:2015-11-13 11:29:22

标签: javascript jquery firefox-addon

我试图通过使用jQuery的parents()和find()来获取'TD'元素的innerText。

allTitles = $("[href='/myLink/param?foo=1234']").parents("table:first").parents("table:first").find(".field_text");
name = allTitles[0].children[0].innerText;
console.log(name);

代码在Chrome中运行良好,但在Firefox中,控制台会输出“null”。

我做了一些调试,问题似乎出现在parents()函数中。在Chrome中我从表元素中获取所有属性,在Firefox中,似乎没有读取属性,因此当我们调用find(“。field_text”)时会导致“null”。

虽然我使用相同的jQuery文件,但为什么Chrome和Firefox会表现不同的事件?

2 个答案:

答案 0 :(得分:0)

JavaScript在浏览器中的处理方式不同。这可能与此有关。由于您已经在使用jQuery,因此您可以继续使用它进行第二次查询。此外,如果您控制HTML,则可以通过向第二个parant表添加一个类来简化第一个查询:

var allTitles = $("[href='...']").closest(".your-class").find(".field_text");
var name = allTitles.children().first().text();
console.log(name);

答案 1 :(得分:0)

问题实际上是children.innerText,它不适用于Firefox。

刚刚更改为children.textContent并解决了问题。

参考: enter image description here