2012-07-06 8 views
7

im प्रत्येक विधि के साथ href बदलने का प्रयास कर,प्रत्येक के साथ तत्व के attr href को कैसे बदलें? // पट्टी यूआरएल

here is demo, inspect a, you'll see there is no change

एचटीएमएल:

<a href="#/news">News</a> 
<a href="#/news/detail">Detail</a> 
<a href="#/sport">Sport</a> 
<a href="#/sport/football">Football</a>​​​​​​​​​​​​ 

jQuery:

$('a').each(function() { 
    $(this).attr('href').replace('#/',''); //tried to erase #/ from all hrefs 
});​ 
+0

आप श्रृंखला को बदल नहीं सकते कि ऐसा attr लिए कर सकते हैं की कोशिश करो; बस एक गेटटर के रूप में एआरआर के साथ एक चर के रूप में href प्राप्त करें, प्रतिस्थापन करें, और फिर इसे एक सेटर के रूप में एटीआर के साथ फिर से पंप करें। (या elclanrs की तरह, मुझे लगता है कि आप केवल एक में सेटटर कर सकते हैं!)। –

उत्तर

14

कोड आप इच्छा तैनात मान कोके रूप में प्राप्त करें 0 फिर ठीक से replace मूल्यों पर यह तुरंत परिणाम को त्याग देता है। आपको प्रतिस्थापित मूल्य attr पर पास करने की आवश्यकता है। निम्नलिखित

$('a').each(function() { 
    var value = $(this).attr('href'); 
    $(this).attr('href', value.replace('#/','')); 
});​ 
+0

दिलचस्प रूप से यह मेरी प्लगइन में नहीं चल रहा है /: बीमार प्रयास करें –

+0

इसे मिला, कुछ और इसे अवरुद्ध कर रहा था, धन्यवाद दोस्त! –

6
var href = $(this).attr('href'); 
$(this).attr('href', href.replace('#/','')); 
+0

धन्यवाद दोस्त .. :) –

1

तुम भी href मूल्य की जाँच करें और हालत

<script type="text/javascript"> 
$('a').each(function() { 
    var value = $(this).attr('href'); 
    if(value=='http://google.com') 
    { 
     $(this).attr('href', 'http://youtube.com'); 
    } 
});​ 
</script> 
संबंधित मुद्दे