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