@Moob jQuery attrBegins प्लगइन को aproximation, विशेषता नाम (एक स्ट्रिंग) देता है, जब एक ही तत्व के मिलान होते हैं (एकाधिक मैचों को अनदेखा कर रहे हैं)। मैंने मिलान तत्वों के साथ एक JQuery संग्रह वापस करने के लिए कोड को जोड़ दिया।
यहाँ कोड है:
(function($) {
$.fn.attrBegins = function(s) {
var matched = [];
this.each(function(index) {
var elem = this;
$.each(this.attributes, function(index, attr) {
if(attr.name.indexOf(s)===0){
matched.push(elem);
}
});
});
return $(matched);
};
})(jQuery);
के उपयोग का उदाहरण ...
HTML:
<div>
<div data-pet-dog></div>
<div data-pet-cat></div>
</div>
जावास्क्रिप्ट:
var foo = $("div").attrBegins("data-pet");
// results into... foo = [ <div data-pet-dog></div> , <div data-pet-cat></div> ]
नोट: जब चयन तत्व जो एक विशेषता नाम है कि attrBegins उपयोग कर एक कस्टम स्ट्रिंग के साथ शुरू होता है निष्पादन समस्या को रोकने के लिए, तत्वों के संग्रह को फिर से कम करने के लिए जितना संभव हो सके मूल चयनकर्ता को संकीर्ण करने के लिए अनुशंसा की जाती है। attrBegins बस पूर्व निर्धारित तत्व संग्रह को फ़िल्टर करता है, यह आइटम के उपलब्ध सेट के बाल तत्वों का पता नहीं लगाता है।
क्या होगा यदि आपके पास 'डेटा -'' से शुरू होने वाले एकाधिक गुण हैं? आपको कौन सा मूल्य मिलना चाहिए? –
jQuery में चयनकर्ता के साथ प्रारंभ होता है: http://api.jquery.com/attribute-starts-with-selector/ – Moob
मेरे परिदृश्य में मेरे पास केवल एक है .. इसलिए यदि मैं 'डेटा-' से शुरू होने वाले विशेषता का नाम चुन सकता हूं, – user3111581