我正在尝试处理页面以在某个div类中找到href的值。请记住,我没有使用<a>
的课程。
这就是我所拥有的:
var domains = document.getElementsByClassName('r');
for(var i = 0; i < domains.length; i++){
var hello = document.getElementsByClassName('r')[i].innerHTML;
alert(hello);
}
这样可以正常工作,并且会“提醒”班级内容。 (我知道这在IE中得不到很好的支持,但那没关系。)
我得到一个警告:
<a href="http://stackoverflow.com/questions/887307/getting-href-value-of-from-a-tag" onmousedown="return rwt(this,'','','','1','AFQjCNGsxCA6nMXughTW44nSEa94KtbEaQ','','0CC8QFjAA','','',event)"> <em>javascript</em> - <em>getting href</em> value of from <a> tag - Stack Overflow</a>
在href中获取价值的最佳方法是什么?
HTML是这样的:
<h3 class="r"><a onmousedown="return rwt(this,'','','','1','AFQjCNFgNBuo2EfLPoNBi3hGgbuTeLwODw','','0CC8QFjAA','','',event)" href="http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC8QFjAA&url=http%3A%2F%2Fwww.w3schools.com%2Fjsref%2Fprop_html_innerhtml.asp&ei=LacjUo4lw9m0BpLVgYAK&usg=AFQjCNFgNBuo2EfLPoNBi3hGgbuTeLwODw&bvm=bv.51495398,d.Yms"> … </a></h3>
答案 0 :(得分:4)
使用Element.attributes
代替Element.innerHTML
。使用HTML,您还需要使用内部循环来获取<a>
元素的.r
个孩子:
var domains = document.getElementsByClassName('r');
for(var i = 0; i < domains.length; i++){
var anchors = domains.getElementsByTagName('a');
for (var j = 0; j < anchors.length; j++) {
alert(anchors[j].attributes.href);
}
}
或者您可以切换到Element.querySelectorAll()
以获得更好的查询API:
var anchors = document.querySelectorAll('.r > a');
for (var i = 0; i < anchors.length; i++) {
alert(anchors[i].attributes.href);
}
请注意,我重用了domains
变量,因为在每次循环迭代时没有理由继续重新查询DOM。
答案 1 :(得分:0)
尝试类似(http://jsfiddle.net/JMsYk/)的内容:
var domains = document.getElementsByClassName('r');
for (var i = 0; i < domains.length; i++) {
var links = domains[i].getElementsByTagName('A');
for (var j in links) {
alert(links[j].attributes['href'].value);
}
}
答案 2 :(得分:0)
我还没试过,但你可以这样做:
var domains = document.getElementsByClassName('r');
for(var i = 0; i < domains.length; i++){
var hello = domains[i].getElementsByTagName('a');
//Just in case there's more than one anchor inside a div
for (j = 0; j < hello.length; j++) {
// do anything with hello[j].attributes.href (the href of each anchor)
alert(hello[j].attributes.href);
}
//If you just have an anchor inside each h3 then simply
alert(hello.attributes.href);
}
域已经返回一个列表,其中包含所有带有类'r'的h3,因此在循环中你可以访问每个div作为域[i],然后你得到一个包含当前h3内所有锚点的列表,然后循环它们(如果div内有多个),并提醒每个锚点的href
答案 3 :(得分:0)
为此,您将链接包装成类,就像-
for it in element.findall('Result1/*'):
print(it.tag)
mrks = it.findtext('Marks')
id = it.findtext('Id')
itmId = it.findtext('ItemId')
print(mrks, id, itmId)
assert mrks == '12'
assert id == '2'
assert itmId != 'https://purchanse.com/62/E00036416'
并执行javascript-
<li class="list-values">
<a href="/getting-href-value">Getting Href Value</a>
</li>
<li class="list-values">
<a href="/other-link">Other Link</a>
</li>
请注意,我使用了“ querySelector()”来选择一个值。您还可以将querySelectorAll()与相同的查询一起使用以选择全部。