2014-02-20 91 views
0

我很好奇,如果純JavaScript可以爲IE7和更大替換這個jQuery選擇..jQuery的屬性「[東西* =東西]」選擇在純JavaScript

請人簡單地改變標記,並選擇使用一類或是他們選擇該使用純JavaScript

<h1 rel="xxxexternalxxx">Attribute Contains</h1> 

var arrinput = $('[rel*="external"]) 

任何幫助將是非常讚賞的了,謝謝你提前

+0

可能重複的[如何通過屬性選擇器w /本地JavaScript w/o querySelectorAll獲取元素(http://stackoverflow.com/questions/9496427/how-to-get-elements-by-attribute-selector -w-native-javascript-wo-queryselector) – elclanrs

+0

選擇器的類型與該問題不同,這不是像你建議的鏈接那樣的基本屬性選擇器。 – Iamsamstimpson

+0

這不完全是一個重複,但你可以使用該助手,然後篩選結果通過循環和比較正則表達式或substr ... – elclanrs

回答

1

您可以使用getElementsByAttribute,然後循環和過濾:

var rels = getElementsByAttribute('rel'); 
var attr = 'external'; 

var result = []; 
for (var i=0; i<rels.length; i++) { 
    if (rels[i].getAttribute('rel').indexOf(attr) > -1) { 
    result.push(rels[i]); 
    } 
} 
+0

感謝一個偉大的解決方案,我今天晚些時候測試和張貼完整的小提琴。再次感謝elclanrs – Iamsamstimpson

+0

它不像預期的那樣工作http://jsfiddle.net/fgs2u/ – Iamsamstimpson

+1

查看我的更新http://jsfiddle.net/fgs2u/1/。檢查控制檯,它會告訴你有什麼不對,這就是我發現的。 – elclanrs