J'ai besoin de Masquer tous les éléments <a>
avec texte ou innerHTML
qui correspond au nombre 'foo' ou à une valeur personnalisée en utilisant javascript ou jQuery.
<li><a href="#" class="dir">foo</a></li>
j'ai essayé
jQuery(document).ready(function() { if (jquery().text().html("foo"){ ('li >a').fadeOut() } });
$('a:contains(foo)').hide();
Terminé.
Ou:
var customValue = "foo" $('a').filter(function(){ return this.innerHTML === customValue; }).fadeOut();
Avec l'option ultérieure, vous l'avez personnalisé beaucoup plus, comme:
var customValue = "foo" $('a').filter(function(){ return this.innerHTML === customValue && $(this).closest('div').length; }).fadeOut();
Une approche, en supposant que le texte que vous recherchez est exactement la chaîne que vous utilisez, sans hésiter, de rendre hommage à Jonathan Sampson :
Création de :exactly
sélecteur:
$.extend($.expr[":"], { exactly: function( element, index, details, collection ){ return $(element).text() === details[3]; } });
Utilisé de la sorte:
$('a:exactly("foo")').fadeOut();
Les références:
:exactly()
sélecteur: http://sampsonblog.com/279/creating-your-own-custom-jquery-filters :exactly()
: Y a – t-il un sélecteur pour faire une correspondance parfaite contre le texte?