正在将HTML NodeList读取到数组中
Reading an HTML NodeList into an array
下面的示例代码当前获取一个HTML页面,并尝试将其读取到数组中。AJAX运行得很好,我可以成功地获得一个节点列表对象。有可能以某种方式将此页面读取为数组而不是单个对象吗?最终,当我在下面的for循环中尝试时,我需要单独拉出这个数组的每个成员:
$.ajax({
url: "/thePageToScrape.html",
dataType: 'text',
success: function(data) {
var elements = $("<div>").html(data)[0].getElementsByTagName("body");
for(var i = 0; i < elements.length; i++) {
var theText = elements.firstChild.nodeValue;
// Do something here
}
}
});
如果你想要的,就像你在评论中所说的,就是把NodeList变成一个数组:
elements = Array.prototype.slice.apply(elements);
真的,仅此而已。
如果您使用JQuery,您可以使用获得主体正下方的每个节点的列表
var elements = $(data).children("body").children();
或每个具有的节点
var elements = $(data).children("body *");
然后你可以用对它们进行循环
$.each(elements, function(index, value) {
var text = this.text()
//..do something with text
});
看起来$.parseHTML()方法完全符合您的要求:
描述:将字符串解析为DOM节点数组。
var arrElements = $.parseHTML(data);
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- Jquery 读取编号组中选择下拉列表的数组
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- 如何在php中读取没有任何键的JSON数组
- 角度推入数组给出:TypeError:无法读取属性'推'的未定义
- 修改d3.js圆环图以读取json数组
- 如何在Immutable.js中读取数组中的值
- 从数组中读取的敲除javascript函数
- 读取外部local.txt文件以将数据加载到数组中
- 如何在不赋值数组变量的情况下读取数组数据
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- 角度无法读取数组中的对象
- Javascript数组读取
- jquery:从 JSON 数组读取值
- 从公共数组读取时,javascript if语句不能与ifValid一起使用
- 将单个数组读取到存储中
- Javascript,从数组读取变量
- 在Javascript中使用数组读取数组
- 数组读取,然后停止-错误:Cannot set property '0'的定义
- javascript中字符串向量映射的数组读取问题