2014-04-24 17 views

Odpowiedz

1

Herezje wersję, która będzie działać w starych i nowych przeglądarek widząc jeśli querySelectorAll jest obsługiwana

Można go używać przez wywołanie getElementsByAttribute(attribute, value)

Tutaj jest skrzypce : 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 
    } 
} 
2

Możesz użyć document.querySelectorAll, aby wyszukać wszystkie elementy pasujące do selektora CSS. Jest to obsługiwane przez wszystkie nowoczesne wersje przeglądarek.

W tym przypadku:

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

Jeśli masz luksus zaniedbując IE 7 lub niższe, można użyć:

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

Może trzeba uzyskać wszystkie elementy, których href wartość zawierać twój konkretny href_value? Jeśli tak, to można spróbować:

document.querySelectorAll('[href*=href_value]'); 
Powiązane problemy