我想从一个有很多这样的行的网页中收集数据?
<a class="asdf" href="http://url.com/jkl/0123/qwer">String</a>
从这一行我需要来自 url (0123
) 和 String
的数字。
我可以想出如何获取数字,但我对 String
有疑问。我有这段代码,它收集数组中的数字:
var titles = document.getElementsByClassName("link-title");
var ids=[];
var tmp;
var i;
for (i=0; i<titles.length; i++) {
tmp=titles[i].toString().split("/");
ids.push(tmp[4]);
}
是否可以从 titles
中获取 String
?我完全不懂 javascript,虽然我学了 java 和一点 xml,我可以用 java 做,但是网页有一些 DDoS 保护,所以我无法连接/下载它。
最佳答案
您从 getElementsByClassName()
得到的东西是 DOM 节点。 .toString()
函数用处不大,但 DOM API 可以让您获取属性和节点内容:
for (i=0; i<titles.length; i++) {
ids.push( titles[i].href );
}
这会将 href
属性提取到您的数组中。 (当然,如果你想要 URL 的片段,你仍然可以点 .split()
。)如果你想要文本:
for (i=0; i<titles.length; i++) {
ids.push( titles[i].textContent );
}
要与 Internet Explorer 兼容,应该是:
for (i=0; i<titles.length; i++) {
ids.push( titles[i].textContent || titles[i].innerText );
}
关于javascript - getElementsByClassName 和 <a class ="asdf"href ="url.com">String</a>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32140329/