Javascript 如何获取具有指定href属性的所有元素

Javascript 如何获取具有指定href属性的所有元素,javascript,Javascript,让我们来看一些具有href=/href\u value/属性的元素。如何获取所有元素集,使其href属性具有href\u值值?您可以使用它搜索与CSS选择器匹配的所有元素。所有现代浏览器版本都支持这一点 在这种情况下: var elements = document.querySelectorAll('[href="href_value"]'); 如果您有机会忽略IE 7或更低版本,您可以使用: document.querySelectorAll("[href='href_value']");

让我们来看一些具有
href=/href\u value/
属性的元素。如何获取所有元素集,使其href属性具有
href\u值
值?

您可以使用它搜索与CSS选择器匹配的所有元素。所有现代浏览器版本都支持这一点

在这种情况下:

var elements = document.querySelectorAll('[href="href_value"]');

如果您有机会忽略IE 7或更低版本,您可以使用:

document.querySelectorAll("[href='href_value']");

也许您需要获取其
href
值包含特定
href\u值的所有元素?如果是,请尝试:

document.querySelectorAll('[href*="href_value"]');

这里有一个版本,可以通过查看querySelectorAll是否受支持在新旧浏览器中工作

您可以通过调用
getElementsByAttribute(属性,值)

这是一把小提琴:

var getElementsByAttribute=函数(属性,值){
if(文档中的“querySelectorAll”){
返回文档。查询选择全部(“[”+attr+“=”+value+“]))
}否则{
var els=document.getElementsByTagName(“*”),
结果=[]
对于(变量i=0,_len=els.length;i<_len;i++){
var el=els[i]
if(el.hasAttribute(attr)){
if(el.getAttribute(attr)==值)result.push(el)
}
}
返回结果
}
}
你的意思是这样的?
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
    }
}