【发布时间】:2014-02-11 23:53:48
【问题描述】:
这是网页的html格式:
<ul id="all_items_container" >
<li class="first item" id="">
<a class="item title_link" href="#942" title="blah blah" id="" >
<span class="title" >blah blah</span>
</a>
</li>
<li class="item " id="">
<a class="item title_link" href="#846" title="blah blah blah" id="" >
<span class="title" >blah blah blah</span>
</a>
</li>
<li class="item " id="">
<a class="item title_link" href="#745" title="blah blah blah blah" id="" >
<span class="title" >blah blah blah blah</span>
</a>
</li>
我需要能够获取“item title_link”类中元素的所有href属性,然后去掉#符号,然后将其转换为url。例如,“item title_link”类中的第一个元素的href值为“#942”,我需要能够将该字符串转换为类似“http://www.domainname.com/index/942/get”的内容。
我需要能够为该类中的所有元素创建一个脚本,然后导航到每个生成的链接。这是我到目前为止不起作用的脚本:
var itemLinks = document.getElementsByClassName("item title_link");
var itemLinksHRefs = itemLinks.href;
var actualItemHRefs = itemLinksHRefs.replace("#","");
var actualItemLinks = "http://www.domainname.com/index/"+actualItemHRefs+"/get";
window.location.href = actualItemLinks;
我知道我的脚本可能偏离了正确的方法,但我对创建用户脚本还很陌生,因此我们将不胜感激。
编辑:我需要一种方法让脚本等待启动 6 秒,然后获取“item title_link”类中所有元素的 hrefs 值并将它们转换为 url 列表,然后要么该脚本在新选项卡中打开所有这些链接,或者能够以这种格式将这些链接导出到文本文件:
http://www.domainname.com/index/942/get
http://www.domainname.com/index/846/get
http://www.domainname.com/index/745/get
【问题讨论】:
-
你只能“导航”到第一个链接,然后页面的JS停止运行...
-
a) 您只能将一个类传递给该方法。如果两者都需要,请使用
document.querySelectorAll('.item.title_link')。 b) 您需要迭代集合,或在访问属性之前提取第一个元素。
标签: javascript url href userscripts getelementsbyclassname