2009-08-27 10 views
0

je me retrouve avec cette méthode une tonne pour effectuer des actions sur la base d'une URL de balise d'ancrage (avec jQuery):Href sur l'élément aléatoire dans jQuery

("a").live("click", function(event) 
{ 
    event.preventDefault(); 
    var href = $(this).attr("href"); 
    // do something with URL 
} 

Ailleurs dans mon application, j'ai des données sous forme de tableau auquel j'ajoute des modifications en ligne. Lorsque vous double-cliquez sur un <td> dans le <table>, il rend les données modifiables (texte, sélection de date, etc.) et en appuyant sur "entrée" fera une demande $.ajax pour enregistrer la nouvelle valeur. Ma question est, si chacun de ces <td> est associé à un href, comment/où dois-je stocker l'uri?

Par exemple, un <td> aurait une URL comme /articles/champ/title/id/5 que j'analyser en utilisant javascript et envoyer un message en utilisant certains des params.

Est-ce acceptable:

<td href="/articles/field/title/id/5"> 

Et puis utilisez le même javascript comme ci-dessus? Ou ...

  • Dois-je ajouter un caché à l'intérieur du ?
  • Dois-je envelopper le contenu dans une étiquette à l'intérieur de la et faire que double-cliquable à la place?
  • Ou devrais-je utiliser une autre propriété?

Idées très bien accueillies.

Répondre

1

une option serait quelque chose comme:

<td id="-articles-field-title-id-5"> 

dans le cas de ne pas utiliser ID, « - » peut-il être un caractère.

+0

solution vraiment simple, mais fonctionne parfaitement pour moi! Je vais commencer à jouer avec la fonctionnalité "données" de HTML5 plus tard;) – typeoneerror

+0

var uri = self.attr ("id"). Remplacer (/ \ -/g, "/") + "/ valeur /" + val ; – typeoneerror

+0

oui, c'est l'idée, en remplaçant le caractère ID "-" par "/". Comme commenté "@ VoteyDisciple" n'est pas une structure valide pour ajouter l'attribut "href" au "tr". Mais beaucoup d'autres plugins utilisent pour ajouter un attribut supplémentaire (pas un "href") pour travailler sur cet élément. Je ne sais pas vraiment comment cela affecte la structure HTML, mais le mettre dans l'ID le rend valide en HTML. –

3

href n'est pas un attribut valide de l'étiquette <td>. Si vous voulez que le contenu soit cliquable de cette manière, enveloppez l'intérieur dans une balise traditionnelle <a> et gérez-le comme vous le feriez avec n'importe quel autre lien.

Questions connexes