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

标签 javascript href getelementsbyclassname

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

<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/

相关文章:

c# - 当多个 Id 标签相同时在网站中自动填充文本框 c#

javascript - 使用 jQuery 和 php 打印为 html

javascript - 附加到 div 的位置跨度元素

javascript - 图片不附加到 <body>

html - 将外部 .css 文件链接到 Html 页面

javascript - 通过 getElementsByClassName JavaScript 查找列表的匹配实例

javascript - querySelectorAll 和 getElementsBy* 方法返回什么?

javascript - 在 Backbone.js 中重写 Model.get(attr) 的最佳方法是什么?

javascript - href 添加符号到链接以防止其打开

javascript - 如何选择 while 循环中的 href 变量?