2010-11-18 12 views
6

में छवियों के सभी लिंक मैं jQuery के लिए इस्तेमाल किया कर रहा हूँ कैसे चुन सकते हैं, लेकिन इस परियोजना के लिए प्रोटोटाइप ढांचे का उपयोग करने की आवश्यकता है। मेरे पास छवियों की एक सूची है (जेपीजी, पीएनजी, और जीआईएफ), जिनमें से कुछ <a> टैग के साथ लिंक हैं। मुझे केवल उन <a> टैग्स में एक रिलेशन विशेषता जोड़ने की आवश्यकता है जो jpg, gif, और png के सीधे लिंक हैं। .jpg, .png, या .gif में समाप्त होने के अलावा href की कोई समान शैली नहीं है। मैं विशिष्ट href के साथ एक लिंक से जोड़ जोड़ सकता हूं, लेकिन मैं यह नहीं समझ सकता कि ऐसे सभी लिंक कैसे चुनें। लिंक की जरूरत है कि का एक उदाहरण हेरफेर किया जा करने के लिए:मैं प्रोटोटाइप

<a href="images/01.jpg"><img src="images/01.jpg" width="500" /></a> 
<br> 
<a href="http://www.example.com/"><img src="images/02.jpg" width="500"></a> 
<br> 
<a href="images/03.png"><img src="images/03.png" width="500" /></a> 
<br> 
<img src="images/04.jpg" width="500"> 
<br> 

और वांछित परिणाम:

<a href="images/01.jpg" rel="whatever"><img src="images/01.jpg" width="500" /></a> 
<br> 
<a href="http://www.example.com/"><img src="images/02.jpg" width="500"></a> 
<br> 
<a href="images/03.png" rel="whatever"><img src="images/03.png" width="500" /></a> 
<br> 
<img src="images/04.jpg" width="500"> 
<br> 

मैं कल्पना है कि अंतिम कोड की तरह कुछ दिखेगा:

<script type="text/javascript"> 
Event.observe(window, 'load', function() { 
    $$('a[href="*.jpg","*.png"]').each(function(link){ 

      link.writeAttribute('rel','whatever'); 

    }); 
}); 
</script> 

लेकिन मैं वाइल्डकार्ड (*) को ठीक से काम करने के लिए नहीं मिल सकता है। मैं प्रोटोटाइप में वाइल्डकार्ड का उपयोग कैसे करूं?

उत्तर

9

प्रोटोटाइप इस तरह वाइल्डकार्ड का उपयोग करने का समर्थन नहीं करता है, लेकिन यह $=attribute selector का उपयोग कर किसी मान के अंत से मेल खाने की अनुमति देता है।

$$('a[href$=.jpg], a[href$=.png], a[href$=.gif]').each(function(link){ 
+0

बिल्कुल सही। ठीक वैसे ही काम करता है जैसा मैं चाहता हूं। मैं, साथ ~ = चारों ओर खिलवाड़ किया गया था भी, लेकिन अब मुझे लगता है कि गलत था। – msb

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