【问题标题】:How to get all elements with a specified href attribute如何获取具有指定href属性的所有元素
【发布时间】:2014-06-09 19:12:38
【问题描述】:

让我有一些带有href=/href_value/attribute 的元素。如何获取所有元素,使其 href 属性具有 href_value 值?

【问题讨论】:

标签: javascript


【解决方案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"]');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-16
          • 1970-01-01
          • 2011-10-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多