2010-08-31 9 views
11

मैं एक पेज पर सभी एंकर की संपत्तियों को बदलने में सक्षम होना चाहता हूं। लेकिन मुझे नहीं पता कि उन सभी के माध्यम से कैसे लूप करें।jQuery: मैं सभी 'ए' तत्वों के माध्यम से कैसे लूप करूं?

उत्तर

22

उपयोग प्रत्येक:

http://api.jquery.com/each/

$("a").each(function(){ 
    //do something with the element here. 
}); 
+5

"तत्व" कि एकेलेहे का उल्लेख फ़ंक्शन के अंदर 'इस' कीवर्ड के माध्यम से संदर्भित किया गया है। सस्ता कार्यान्वयन के लिए –

6

jQuery इस क्षमता स्वाभाविक प्रदान करता है।

$('a').do_something(); 

do_something() पृष्ठ पर हर a करेंगे। तो:

$('a').addClass('fresh'); // adds "fresh" class to every link. 

यदि आप क्या करना चाहते हैं प्रत्येक a व्यक्तिगत रूप के गुणों को देखकर की आवश्यकता है, तो .each() का उपयोग करें:

$('a').each(function(){ 
    var hasfoo = $(this).hasClass('foo'); // does it have foo class? 
    var newclass = hasfoo ? 'bar' : 'baz'; 
    $(this).addClass(newclass); // conditionally add another class 
}); 
3
$('a').each(function(i){ 
    $(this).attr('href','xyz'); 
}); 
0

आप इस उद्देश्य के लिए jQuery .each() उपयोग कर सकते हैं:

$('a').each(function() { 
// The $(this) jQuery object wraps an instance 
// of an anchor element. 
}); 
9

आप .attr() का उपयोग एक Functio के साथ कर सकते हैं n एक विशिष्ट संपत्ति को बदलने के लिए, उदाहरण के लिए:

$("a").attr("href", function(i, oldHref) { 
    return oldHref + "#hash"; 
}); 

यह सस्ता की तुलना में .each() है के बाद से आप प्रत्येक यात्रा के अंदर एक अतिरिक्त jQuery वस्तु नहीं बना रहे हैं, तो आप ऐसा कर के बिना DOM तत्व की संपत्तियों तक पहुँच रहे हैं।

+1

+1 –

संबंधित मुद्दे