2010-03-30 4 views
6

Использование JQuery, есть ли простой способ выбрать текст сразу после флажка?JQuery выбрать текст рядом с вводом флажок?

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

Я хочу использовать jquery, чтобы выбрать «Очень важный текст». минус &nbsp;

ответ

13

Лучше решение может быть, чтобы обернуть текст в label Элемент:

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

После этого вы можете получить текст так:

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

Это также улучшает семантику вашего документа.

+0

Спасибо .. Мне нравится тот факт, что флажок переключается, когда я нажимаю на текст, так же, как мы привыкли в Windows. –

8

Чтобы сделать то, что вы сказали:

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

Вам может понадобиться, чтобы обрезать его, хотя, не уверен насчет &nbsp;:

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

+1, вариант обрезки - лучший ответ для этого. –

+0

Ах так .text() на самом деле получит текст и игнорирует элементы html (флажок)? Теперь я понимаю различия между .text() и .html() –

Смежные вопросы