selector avanzado jQuery
-
22-08-2019 - |
Pregunta
¿Puedo utilizar las instrucciones de comparación dentro de un método de selección de jQuery?
ej.
Tengo una lista de divs generadas por PHP que todos utilizan la misma clase CSS, pero que tienen atributos de valor de 1, 2, 3, etc. También tengo un campo de entrada de texto con un id. Este campo sólo puede aceptar los números. Me gustaría seleccionar el div (de la lista de longitud) que tiene un atributo de valor que coincide con el valor puesto en el cuadro de entrada de texto.
Puedo escribir algo como esto:
$ ( '$ ( "AlgunaClase "). Val () == $ (" # someId de entrada"). Val ()')
???
Solución
$('.someClass').filter(function() {
return $(this).attr('value') == $('input#someId').val() ;
})
Otros consejos
Tome un vistazo a la página de selectores CSS3: http://www.w3.org / TR / css3-selectores / .
Selección Recomendado: '[ "+ $ ( '# inputId ') val () +'". E [foo = "bar"], como en valor = .class']'
Nota:. No probado
es sólo un selector de jQuery estándar: 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>