如何获取具有指定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 获取具有相同数据属性的元素?

如何获取每个节点的 href 元素和属性?

如何从js中的元素列表中获取元素,该元素具有自定义属性?

jquery怎么获取下一个具有指定样式(class)的元素呢?

如何获取具有指定名称的 DataMemberAttribute 的属性?