jQuery sélecteur avancé
-
22-08-2019 - |
Question
Puis-je utiliser des instructions de comparaison dans une méthode de sélection jQuery?
par exemple.
J'ai une liste de divs générés par php qui utilisent tous la même classe CSS, mais ont des attributs de valeur de 1, 2, 3, etc. J'ai aussi un champ de saisie de texte avec un id. Ce champ peut accepter que des chiffres. Je voudrais sélectionner la div (de la liste) qui a un attribut de valeur qui correspond à la valeur mettre dans la zone de saisie de texte.
Puis-je écrire quelque chose comme ceci:
$ ( '$ ( "SomeClass "). Val () == $ (" # entrée someId"). Val ())
???
La solution
$('.someClass').filter(function() {
return $(this).attr('value') == $('input#someId').val() ;
})
Autres conseils
Jetez un oeil à la page sélecteurs CSS3: http://www.w3.org / TR / CSS3-sélecteurs / .
Sélecteur recommandée: '[ "+ $ ( '# inputId ') val () +'". E [foo = "bar"], comme valeur = .class']'
Note:. Non testé
il est juste un sélecteur standard jquery: attributeEquals
<html>
<head>
<title>Just a test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('#txtValue').change(function(){
$('.selectMe').css('color', 'black');
$('.selectMe[value= '+$(this).val()+']').css('color', 'red');
});
});
</script>
</head>
<body>
<input type="text" id="txtValue" value=""/>
<div class="selectMe" value="1">one</div>
<div class="selectMe" value="2">two</div>
<div class="selectMe" value="3">three</div>
</body>
</html>