为什么`.innerText`属性在Firefox中不起作用?

时间:2014-01-28 05:50:07

标签: javascript jquery firefox find

以下代码在Firefox中不起作用

var selectedCategories = $("#category_filter .checkbox-input-group .checked").find("span");
for (var i = 0; i < selectedCategories.length; i++) {
    categories.push(selectedCategories[i].innerText);
} 

请告诉我如何获得类似的结果

2 个答案:

答案 0 :(得分:1)

innerText是非标准属性,Firefox不支持,您应该使用textContent。但是,应该注意IE8及以下版本不支持textContent属性。

我建议使用jQuery .eq().text()方法:

categories.push(selectedCategories.eq(i).text());

另请注意,对于创建数组,您还可以使用jQuery .map()方法:

var arr = selectedCategories.map(function() {
     return $(this).text();
     // Alternatively:
     // return (this.innerText || this.textContent);
}).get();

答案 1 :(得分:0)

 var selectedCategories = $("#category_filter .checkbox-input-group .checked").find("span").length;
 var categories = [];

    for (var i = 0; i < selectedCategories; i++) {
        categories.push(selectedCategories[i].innerText);
}