2010-06-14 7 views
3

Il existe un lien avec title et certains value:trouver jQuery en valeur

<a href="http://site.com/someid/" title="Use ctrl + >">next</a> 

Comment trouver ce lien et jeter son attribut href à certains variable?

+0

juste un commentaire .... le titre « Utilisez CTRL +> » lors de l'utilisation supérieur ou moins de caractères en HTML toujours les encoder. > => < = < –

+0

Merci pour l'info John – Happy

Répondre

7
var some_variable = $("a:[title='Use ctrl + >']").attr("href") 

départ jQuery slectors: http://api.jquery.com/category/selectors/

Voici un exemple de travail: http://jsfiddle.net/SXqVt/

+0

comment vérifier, est-il présent sur cette page? – Happy

+0

puis créez la variable – Happy

+0

'if ($ (" a: [title = 'Utiliser ctrl +>'] "). Length) {var quelque_variable = $ (" a: [title = 'Utiliser ctrl +>'] ") .attr ("href") } ' – meo

2

Je vous recommande d'ajouter une classe ou d'un identifiant à votre point d'ancrage si possible. Ce n'est pas très agréable de trouver un élément par titre

Quelque chose comme si vous ajoutez une classe

<a href="http://site.com/someid/" title="Use ctrl + >" class="myAnchor">next</a> 

et le code jquery serait

var some_variable = $("a.myAnchor").attr("href") 

... Ou ceci, si vous définir un identifiant

<a href="http://site.com/someid/" title="Use ctrl + >" id="myAnchorId">next</a> 

et le code jquery serait

var some_variable = $("#myAnchorId").attr("href") 
4

Vous pouvez juste utiliser un sélecteur contains comme

$('a[href*="Use ctrl"]') 

ou peut-être encore plus précis avec =.

De toute façon, cela ne semble pas être une bonne pratique, donc vous devriez penser à d'autres possibilités pour obtenir cette ancre. Peut-être qu'il a un parent unique que vous pouvez choisir par id ou class. Même si vous devez chaîner un peu en utilisant .find(), .closest() etc

C'est une meilleure façon de faire.

2

Vous pouvez utiliser le sélecteur :contains() pour trouver des éléments qui contiennent une chaîne particulière du texte:

alert($('a:contains(next)').attr('href')); 

Soyez conscient que cela pourrait aussi trouver des éléments qui contiennent le mot « suivant » partout, il est donc préférable de faire votre sélecteur aussi spécifique que possible, ou fournissez l'argument de contexte à la fonction jQuery.

1

pour répondre à votre commentaire pour la réponse de meo, vous pouvez le faire:

var hrefValue; 
if($("a:[title='Use ctrl + >']").length > 0) 
{ 
    hrefValue = $("a:[title='Use ctrl + >']").attr("href"); 
} 
Questions connexes