2013-09-04 12 views
6

"data-"で始まる属性を持つすべての要素を、プランのjavascriptまたはjQueryでどのように選択できますか?"data-"で始まる要素を選択

私は

$("[data-*"]) 

を試みたが、それは動作しません。ここで

+0

あなたが今までに試したことは何ですか?あなたの必要条件は何ですか? – Sasidharan

+0

このように属性セレクタを使用する必要があります。http://api.jquery.com/attribute-equals-selector/ – dreamweiver

+0

htmlを表示してください – Vladimir

答えて

5

は何が必要でしょう非jQueryの機能である:

ので、同じように使用でき
function getAllDataElements() { 
    //get all DOM elements 
    var elements = document.getElementsByTagName("*"); 
    //array to store matches 
    var matches = []; 
    //loop each element 
    for (var i = 0; i < elements.length; i++) { 
     var element = elements[i]; 
     //get all attributes for the element and loop them 
     var attributes = element.attributes; 
     for (var j = 0; j < attributes.length; j++) { 
      //get the name of the attribute 
      var attr = attributes.item(j).nodeName; 
      //check if attibute name starts with "data-" 
      if (attr.indexOf("data-") == 0) { 
       matches.push(element); //add it to matches 
      } 
     } 
    } 
    return matches; //return results 
} 

:uは何をすべきかを選択した後

var results = getAllDataElements(); 

results.forEach(function (i) { 
    i.style.color = "#FF0000"; 
}); 

Here is a working example