आप कंटेनर में प्रत्येक तत्व के लिए गुण के माध्यम से पुनरावृत्ति, और क्या विशेषता नाम के लिए आप क्या देख रहे हैं के लिए एक regex से मेल खाता देख कर कुछ इस तरह का अनुमान लगा सकता:
उदाहरण के लिए, in this jsFiddle, I am looking for li
elements with the data-media-tv
and data-media-dvd
properties।
आप रेगेक्स को केवल वही लौटने के लिए तैयार कर सकते हैं जो आप देखना चाहते हैं। केवल उन तत्वों को देखना चाहते हैं जिनमें डेटा-मीडिया- * (जैसे आपके प्रश्न में) है? Here you go।
ध्यान रखें कि इस वास्तव में स्केलेबल नहीं है। चूंकि हम पृष्ठ पर प्रत्येक तत्व के माध्यम से पुनरावृत्त कर रहे हैं, और प्रत्येक एकल विशेषता की जांच कर रहे हैं (लेकिन यदि पाया जाता है तो जल्दी लौट रहा है), यह संभवतः बड़े पृष्ठों के लिए धीमा हो सकता है और संभवतः होगा।
इसे केवल उस कंटेनर तक सीमित करें जिसे आप खोजना चाहते हैं, या केवल वे तत्व जिन्हें आप पुन: सक्रिय करना चाहते हैं! यदि आप इसे document.body
के विरुद्ध चलाते हैं, तो यह पृष्ठ में प्रत्येक तत्व के माध्यम से फिर से शुरू हो जाएगा, यदि परिणामस्वरूप आपका घर जल जाए तो मैं ज़िम्मेदार नहीं होगा। :)
यहाँ यह समारोह-ized है:
function attrMatch(elements, regexp) {
// Iterate through all passed-in elements, return matches
var matches = elements.filter(function(li) {
var numAttr = li.attributes.length;
for(x=0;x<numAttr;x++) {
var attr = li.attributes[x];
return attr['name'].test(regexp);
}
});
return matches;
};
elements
में, केवल तत्वों आप जाँच करना चाहते हैं में पारित, संभवतः $$
के माध्यम से चयन किया। यदि आप कंटेनर तत्व में सभी तत्वों को देखना चाहते हैं, तो ऊपर element
के प्रत्येक उदाहरण में elements
container
और container.getChildren()
के साथ प्रतिस्थापित करें।
स्रोत
2012-09-18 13:50:26
क्या आप कुछ उदाहरण HTML पोस्ट कर सकते हैं? – Daedalus
ऐसा लगता है कि आपको तत्वों को एकजुट करने के लिए कुछ अन्य विशेषता जोड़नी होगी। – Niemand
एक अनुपालन सीएसएस चयनकर्ता कार्यान्वयन आउटपुट * कोई तत्व * नहीं होगा क्योंकि यह अमान्य है ... – BoltClock