2009-12-22 5 views
0
<a rel="abc" href="#mydiv">link</a> 
<div id="mydiv">content</div> 

Si rel = "abc", recherchez l'élément dont l'ID correspond à la valeur href et masquez-le.Rechercher et masquer div (jQuery)

Mon essai:

$('[rel*=abc]').attr("href").hide(); 

Merci pour votre aide!

+0

D'accord, cela ne semble beaucoup comme devoirs –

+0

J'utilise le plugin Facebox et je voudrais cacher les divs de contenu automatiquement charge. Ce n'est pas des devoirs et je poste du code quand je peux, mais dans ce cas je n'ai aucune idée. – 3zzy

+0

Lisez la documentation sur les sélecteurs d'attribut: http://docs.jquery.com/Selectors –

Répondre

5
$($("a[rel='abc']").attr("href")).hide(); 
+0

Bien, plus propre que ce que j'écrivais. Peut-être mettre cela dans un bloc $ (document) .ready (function() {}). – tsdbrown

+1

(La note échouera si vos identifiants contiennent '.' ou': '.) – bobince

0
var identifier = $('a[rel="abc"]').attr('href'); 
$('#'+identifier').hide(); 

Je pense que cela pourrait résoudre votre problème. Je ne l'ai pas testé, cependant. Masque l'élément approprié si l'utilisateur clique sur ce lien.

+0

On dirait que vous avez -1 parce que votre sélecteur sera "## mydiv" –

+0

Je ne sais pas si cela aurait été le cas ou non. Merci pour le conseil. –

2
$('a[rel=abc]').click(function(event){ 
    event.preventDefault(); 
    $(event.target.href.substr(event.href.indexOf('#'))).hide(); 
}); 

Masque l'élément approprié.

modifier: testé

+1

Peut-être ajouter event.preventDefault() à cela. Ou au moins retourner faux. –

+0

Bien sûr. Merci! – RamboNo5

2
$("a[rel='abc']").click(function(event){ 
    event.preventDefault(); 
    var val = $(this).attr("href"); 
    $("div"+val).hide(); 
}); 
1

$('a[rel=abc]').each(function() { $(this.href.substr(this.href.indexOf('#'))).hide(); });

la vérification d'erreur serait bon aussi.

1
$("a[rel=abc]").each(function(i, ele) { 
    $(ele.hash).hide(); 
}); 

ou si vous voulez que cela se produise sur un clic

$("a[rel=abc]").click(function(e) { 
    e.preventDefault(); 
    $(this.hash).hide(); 
}); 
Questions connexes