Sé que puedes usar: contiene para obtener elementos cuyo innerHTML contiene una cierta cadena, pero ¿cómo puedo obtener los elementos cuyo innerHTML comience con una cadena?Jquery selecciona todos los elementos con un innerHTML que comienza con una cadena?
Respuesta
Utilizando una función de filtro puede filtrar en base a cualquier criterio que desea:
var spans = $("span").filter(function(idx) {
return this.innerHTML.indexOf(myString) == 0;
});
No hay necesidad de ajustar cosas :) 'this.innerHTML' funciona, y es mucho menos costoso también. –
right-o Nick, gracias. – joshperry
Se podría hacer algo como esto:
<!doctype HTML>
<html>
<head>
<script type = "text/javascript" language = "JavaScript" src = "jquery-1.4.2.min.js"></script>
<script type = "text/javascript" language = "JavaScript">
var elems;
$(document).ready(function(){
$("div").each(function(){
var content = $(this).html();
if (content.match(/asdf/)){
alert(content);
}
});
});
</script>
</head>
<body>
<div>asdfaowhguiwehgiuh</div>
<div>asdfaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>asdfaowhguiwehgiuh</div>
</body>
</html>
el fin de encontrar ya sea en el contenido en absoluto ... si quieres los primeros personajes debes dividir el contenido en esos personajes y probarlo solo.
El método de filtro le permitirá comparar el contenido de un elemento, y luego puede hacer lo que quiera (en este caso, he hecho addClass('selected')
).
$('p').filter(function() {
var searchString = 'Blue';
return ($(this).html().substring(0, searchString.length) == searchString);
}).addClass('selected');
Demostración:
sé que esto es viejo, pero si alguien está buscando una mejor respuesta, jQuery desde v1.1.4 tiene un ":contains("text")" selector.
Ejemplo HTML:
<p>Please reply above this line...</p>
Ejemplo jQuery selecciona por encima de HTML:
$('p:contains("Please reply above this line")');
Me encanta encontrar estas soluciones más fáciles (a simple vista) en publicaciones más antiguas. Este es semánticamente más fácil de entender. – Sablefoste
La pregunta indica que el OP tiene conocimiento de ': contains', pero necesita algo para filtrar basándose en el comienzo de la cadena innerHTML. Por lo tanto, @joshperry tiene la solución correcta. –
- 1. jquery selector para atributos que no comienza con una cadena
- 2. jQuery selecciona todos los elementos dentro de elementos principales particulares
- 3. Cómo obtener todos los elementos dentro de "div" que comienza con un texto conocido
- 4. ¿Cómo obtener todos los elementos cuyo nombre comienza con una cadena?
- 5. jQuery ID comienza con
- 6. jQuery - elemento de partido que tiene una clase que comienza con una determinada cadena
- 7. Jquery encuentra todos los elementos con texto
- 8. jQuery. Seleccionar todos los elementos que se inicia con CLASSNAME
- 9. elementos de jQuery retorno donde ID comienza con una determinada cadena
- 10. jquery cómo seleccionar todos los elementos de la clase comienza con "texto-"?
- 11. jQuery - tiene clase que comienza con
- 12. ¿Cómo saber que una cadena comienza/termina con una cadena específica en jQuery?
- 13. selector jQuery o CSS para seleccionar todos los ID que comienzan con alguna cadena
- 14. pitón capitalizar() en una cadena que comienza con el espacio
- 15. jQuery Seleccionar todos los elementos que tengan un título
- 16. jQuery: Seleccione todos los elementos 'select' con cierto valor val()
- 17. jQuery obtener sólo todos los elementos HTML con ID
- 18. Verificar si una cadena comienza con XXXX
- 19. Jquery ocultar() todos los elementos con cierta clase excepto uno
- 20. ¿Cómo hacer que CSS seleccione ID que comienza con una cadena (no en Javascript)?
- 21. Buscar todos los archivos con un nombre de archivo que comienza con una cadena especificada que puede coincidir con miles de archivos
- 22. Retire todos los elementos de una cierta clase con JavaScript
- 23. ExtJs componente que selecciona por ID que comienzan con una cadena
- 24. ¿Cómo comprobar si una cadena comienza con una cadena especificada?
- 25. JQuery selecciona todos los elementos sin deshabilitar Y sin solo leer?
- 26. jQuery. Seleccione todos los elementos con una clase pero sin style = "display: none;" atributo
- 27. ¿Cómo multiplico todos los elementos en una colección con todos los elementos en otra colección?
- 28. jquery compruebe si la cadena comienza con 1234
- 29. jQuery pregunta del selector. Seleccione todos los nodos que NO COMIENZEN con (cadena)
- 30. Comprobar si una cadena comienza con un número en PHP
¿Quiere decir que todos los elementos cuya firstChild es un nodo de texto? –