如何获取具有指定href属性的所有元素
Posted
技术标签:
【中文标题】如何获取具有指定href属性的所有元素【英文标题】:How to get all elements with a specified href attribute 【发布时间】:2014-06-09 19:12:38 【问题描述】:让我有一些带有href=/href_value/
attribute 的元素。如何获取所有元素,使其 href 属性具有 href_value
值?
【问题讨论】:
你的意思是这样的? ***.com/questions/303956/… 【参考方案1】:如果你有幸忽略 IE 7 或更低版本,你可以使用:
document.querySelectorAll("[href='href_value']");
【讨论】:
【参考方案2】:也许您需要获取所有href
值包含您的特定href_value
的元素?如果是这样,请尝试:
document.querySelectorAll('[href*="href_value"]');
【讨论】:
【参考方案3】:通过查看是否支持 querySelectorAll,这是一个适用于新旧浏览器的版本
您可以拨打getElementsByAttribute(attribute, value)
使用它
这是一个小提琴:http://jsfiddle.net/ghRqV/
var getElementsByAttribute = function(attr, value)
if ('querySelectorAll' in document)
return document.querySelectorAll( "["+attr+"="+value+"]" )
else
var els = document.getElementsByTagName("*"),
result = []
for (var i=0, _len=els.length; i < _len; i++)
var el = els[i]
if (el.hasAttribute(attr))
if (el.getAttribute(attr) === value) result.push(el)
return result
【讨论】:
【参考方案4】:您可以使用document.querySelectorAll
搜索与 CSS 选择器匹配的所有元素。所有现代浏览器版本都支持这一点。
在这种情况下:
var elements = document.querySelectorAll('[href="href_value"]');
【讨论】:
以上是关于如何获取具有指定href属性的所有元素的主要内容,如果未能解决你的问题,请参考以下文章
Scraperwiki + lxml。如何获取具有类的元素的子元素的 href 属性?
如何在所有站点上仅使用 css 获取具有相同数据属性的元素?