2011-06-02 1 views
1

Je passe une ligne de table à une fonction qui est censée mettre à jour l'attribut onclick sur une ancre. Quoi que j'aie essayé, je ne suis pas en mesure de le définir à une nouvelle valeur. Je peux voir que c'est jQuery sélectionne l'ancre. Mais quand j'avertisse avant un après, onclick attribut pointe toujours à la même valeur non pas le paramètre « url » qui est fourni à la fonction:Pourquoi le gestionnaire d'événement .click n'est pas mis à jour ici?

function modifyTrEditUrl(tr, url) { 

      console.log(tr.find('td:eq(6) a')[0]); 

      tr.find('td:eq(6) a') 
       .attr('onclick', url); // I have tried 
             //.click(function(e){..}) way too! 

      console.log(tr.find('td:eq(6) a')[0]); //still the same value! :(
     } 

Tous les conseils?

Répondre

0

Comment l'utilisation

tr.find('td:eq(6) a').attr('href', url); 
+0

Merci! :) Ça m'a vraiment aidé. – pencilCake

0

utilisation .bind ou .live, .live pour lier fin

1

Je ne suis pas sûr, mais il semble que vous pouvez être source de confusion attribut onclick avec l'attribut HREF. Lorsqu'un lien est cliqué, l'URL de l'attribut HREF est utilisée. L'attribut onClick est vraiment utilisé pour déclencher des trucs Javascript.

Cela dit, si vous utilisez jQuery, vous devriez vraiment vous en tenir aux fonctions bind ou live (pour lesquelles click est un wrapper).

1

Je ne suis pas un jQuery (ou même javascript) pro mais je pense à partir de votre code, vous essayez de définir la valeur de l'attribut onclick à l'URL.

.attr('onclick', url); 

Je sais que dans une balise, l'attribut onclick doit être associé à une fonction javascript. Je pense que le code essaie de créer une étiquette comme

<a onclick=url> 

et je devrais est un objet chaîne. C'est peut-être pourquoi il y a des erreurs.

Questions connexes