Seleccione div (u otro elemento) que la clase contenga “grap” (u otra palabra especificada) por ejemplo

1 minuto de lectura

Ante todo; ejemplo de código HTML:

<div class"grap1"> some conetent</div>
<div class"grap2"> some conetent</div>
<div class"grap3"> some conetent</div>
<div class"blabla">some content></div>

Y ahora quiero seleccionar divs que la clase contenga la palabra “grap” en algún lugar es el nombre de la clase (en este caso, los primeros tres divs). ¿Cómo puedo lograr eso?

Esto no está funcionando: http://api.jquery.com/attribute-contains-word-selector/

  • El selector “el atributo contiene una palabra” no funciona porque su “palabra” no está delimitada por espacios en blanco.

    – FtDRbwLXw6

    11 de septiembre de 2011 a las 13:12

  • esta pregunta se hizo antes, consulte stackoverflow.com/questions/4106958/…

    – shiying ti

    11 de septiembre de 2011 a las 13:16

Utilizar el atributo contiene selector:

$('div[class*="grap"]')

Dependiendo de su caso de uso particular, puede probar el selector de prefijo de atributo:

var $grapDivs = $('div[class|="grap"]');

A partir de sus datos de muestra, parece que “grap” siempre precede a la clase, por lo que, si ese es el caso, esto puede ser lo que desea. Si “grap” puede estar en cualquier parte de la clase en lugar de solo al principio, use *= en su lugar.

Utilice el selector “atributo contiene”: http://api.jquery.com/attribute-contains-selector/

El selector de “atributo contiene palabra” no funcionará porque, según los documentos, encuentra elementos donde el atributo especificado contiene la palabra dada delimitado por espacios.

Quiere usar el “El atributo contiene selector“, no el” Atributo contiene selector de PALABRA “, que es a lo que se vinculó.

lo que buscas es el “atributo contiene selector”

Vea un ejemplo aquí http://jsfiddle.net/CsvUY/

¿Ha sido útil esta solución?