2010-08-31 5 views
1

Je suis en train de sélectionner un < specfic a> pour mettre un style sur elle mis mon code ne working`jQuery sélectionner par Href intérieur spécifique Div

var url=window.location.protocol + "//" + window.location.host+"/"+window.location.pathname; 
jQuery('#accordion a[href*="'+url+'"]').css("font-weight", "bold"); 

que le code ne fonctionne pas du tout et donne undefind object..so toute aide ici :)

Cordialement M Hegab

+3

Et vous utilisez réellement des URL absolues dans vos liens? – Gumbo

+0

oui .. parce que c'est compliqué site pas facile site basé sur un paquet –

+0

Si vous voulez une ancre spécifique, alors pourquoi ne pas simplement ajouter un 'id 'à l'utiliser? –

Répondre

0

window.location.pathname commence déjà avec un /, je ne suis pas exactement sûr ho w votre configuration est, mais il devrait être plus comme celui-ci (sans / entre l'hôte et le chemin):

var url=window.location.protocol + "//" + window.location.host+window.location.pathname; 
jQuery('#accordion a[href*="'+url+'"]').css("font-weight", "bold"); 
0

Je suppose que les sélecteurs d'attribut fonctionnent indépendamment. Cela a fonctionné pour moi.

jQuery("#accordion").find("a[href*='" + url + "']").css("font-weight", "bold");

Si vous devez cibler uniquement les balises d'ancrage des enfants, vous pouvez utiliser la méthode children() au lieu de la méthode find().

C'est le fonctionnement pour moi:

<html> 
<head> 
<title>Nithesh Chandra</title> 
<style> 
a.test { color: green; } 
</style> 
<script src="jquery.min.js" type="text/javascript" language="javascript"> 
</script> 
<script language="javascript"> 
$(function() { 
    $('#testDiv').find("a[href*='http://google.com/']").addClass('test'); 
}); 
</script> 
</head> 
<body> 
<div id="testDiv"> 
    <a href="http://google.com/">Nithesh</a> 
</div> 
</body> 
</html> 

Hope it helps.

+0

effectivement j'ai essayé de trouver et cela fonctionne seulement si je sélectionne (a) sinon il ne me donne rien :(il semble que la sélection pour le href ne fonctionne pas bien –

+0

essayez href sans le *. Je veux dire si vous connaissez l'URL exacte, vous pouvez toujours le faire correspondre à "Equals" au lieu de "Contient" .Vérifiez http://visualjquery.com/ pour plus d'options –

+0

non ce n'est pas toujours qu'il correspondra exactement .. le paramètre peut être changer les lieux des autres ou les paramètres peuvent obtenir des valeurs déférentes .. c'est pourquoi j'utilise comme ou contenir –

Questions connexes