2010-03-30 13 views
6

Usando JQuery, ¿hay una manera simple de seleccionar el texto inmediatamente después de una casilla de verificación?J ¿Seleccionar texto junto a una casilla de entrada?

<li>bleh..</li> 
<li> 
    <input type="checkbox" id="cbx1" value="10" />&nbsp;Very important text. 
</li> 
<li>bleh..</li> 

Quiero usar jQuery para seleccionar que "Texto muy importante." menos &nbsp;

Respuesta

13

mejor solución podría ser la de ajustar el texto en una label elemento:

<li> 
    <input type="checkbox" id="cbx1" value="10" /> 
    <label for="cbx1">Very important text.</label> 
</li> 

A continuación, puede obtener el texto, así:

var text = $('label[for="cbx1"]').text(); 

Esto también mejora la semántica del documento.

+0

Gracias. Me gusta el hecho de que la casilla de verificación está activada cuando hago clic en el texto, tal como estamos acostumbrados en Windows. –

8

para hacer lo que ha dicho:

var text = $('#cbx1').parent().text(); 

Es posible que tenga que recortar él sin embargo, no está seguro acerca de la &nbsp;:

var text = $.trim($('#cbx1').parent().text()); 
+1

+1, la versión de ajuste es la mejor respuesta completa para esto. –

+0

Ah, entonces .text() obtendrá realmente el texto e ignorará los elementos html (la casilla de verificación)? Ahora tengo claras las diferencias entre .text() y .html() –

Cuestiones relacionadas