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

问题描述 投票:0回答:5

假设我有一些具有

href=/href_value/
属性的元素。如何获取所有元素,使其 href 属性具有
href_value
值?

javascript
5个回答
29
投票

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

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

21
投票

也许您需要获取所有

href
值包含您的特定
href_value
的元素?如果是这样,请尝试:

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

7
投票

这是一个可以在新旧浏览器中使用的版本,看看是否支持 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
    }
}

6
投票

您可以使用

document.querySelectorAll
搜索与 CSS 选择器匹配的所有元素。所有现代浏览器版本都支持这一点。

在这种情况下:

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

0
投票

使用

querySelectorAll
是普通 JavaScript 中可用的最佳方法,正如其他回复所建议的那样。如果您正在使用该库并且想要探索替代方案,jQuery 还提供全局选择。

$("[href='href_value']");
© www.soinside.com 2019 - 2024. All rights reserved.