2012-03-01 9 views
1

Comment activer ceci:Jquery: pass attr, détruire attr

<ul> 
    <li><a href="Menu1">Menu 1</a></li> 
    <li><a href="Menu2">Menu 2</a></li> 
    <li><a href="Menu3">Menu 3</a></li> 
</ul> 

Dans ceci:

<ul> 
    <li><a href="#" catid="Menu1">Menu 1</a></li> 
    <li><a href="#" catid="Menu2">Menu 2</a></li> 
    <li><a href="#" catid="Menu3">Menu 3</a></li> 
</ul> 

En utilisant Jquery .attr

Merci.

+5

Vous savez déjà que vous pouvez utiliser 'attr()' pour y parvenir, si vous avez résolu la moitié de votre problème. Avez-vous essayé quelque chose? –

+2

'catid' n'est pas valide html. Pensez à utiliser 'data-catid' à la place. – shanabus

+0

@shanabus celui-ci résout l'astuce. J'ai besoin de stocker l'identifiant de catégorie à partir d'un lien dans wordpress. Merci. –

Répondre

3
$('ul li a').each(function() { 

    var self = $(this); 
    self.attr('catid', self.attr('href')); 
    self.attr('href', '#'); 

}); 
-1
$("ul li a").each(function(){ 
    var catid = $(this).attr('href'); 
    $(this).attr('catid', catid); 
    $(this).attr('href', '#'); 
}); 
+0

Merde, je devrais lire la question plus attentivement avant de poster. Mérité les downvotes pour ça. En tout cas, j'ai réparé ma réponse tout de suite – Andre

1

Cela devrait le faire pour vous:

$('a').attr('catid', function() { 
    var href = $(this).attr('href'); 
    $(this).attr('href', '#'); 
    return href; 
});​ 

http://jsfiddle.net/VbtJn/

0
$('ul li a').each(function(){ 
    $(this).attr('catid',$(this).attr('href')); 
    $(this).attr('href', '#'); 
}); 
1
$("li a").each(function(){ 
    $(this) 
     .attr("catid", $(this).attr("href")) 
     .attr("href", "#"); 
});