getElementsByClassName和<a class="asdf" href="url.com">String</a>

时间:2015-08-21 12:26:32

标签: javascript href getelementsbyclassname

我想收集网页中有很多这样的行的数据吗?

<a class="asdf" href="http://url.com/jkl/0123/qwer">String</a>

从这一行开始,我需要网址(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]);
}

是否可以从String获取titles?我对javascript完全愚蠢,虽然我学习了java和一些xml而且我可以在java中做,但是网页有DDoS保护,所以我无法连接/下载它。

1 个答案:

答案 0 :(得分:2)

.toString()返回的内容是DOM节点。 for (i=0; i<titles.length; i++) { ids.push( titles[i].href ); } 函数不是很有用,但DOM API可以让你获取属性和节点内容:

href

这会将.split()属性提取到数组中。 (如果你想要一些URL,你仍然可以点for (i=0; i<titles.length; i++) { ids.push( titles[i].textContent ); } 。)如果你想要文本:

for (i=0; i<titles.length; i++) {
    ids.push( titles[i].textContent || titles[i].innerText );
}

要与Internet Explorer兼容,那就是:

{{1}}