2010-03-30 3 views
6

Mit JQuery gibt es eine einfache Möglichkeit, den Text unmittelbar nach einem Kontrollkästchen auszuwählen?JQuery Text neben einem Eingabefeld auswählen?

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

Ich möchte mit jquery "Sehr wichtiger Text" auswählen. minus &nbsp;

Antwort

13

bessere Lösung könnte sein, den Text in ein einzuwickeln label Element:

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

anschließend können Sie das bekommen Text wie folgt:

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

Dies verbessert auch die Semantik Ihres Dokuments.

+0

Danke .. Ich mag die Tatsache, dass das Kontrollkästchen umgeschaltet wird, wenn ich auf den Text klicke, so wie wir es in Windows gewohnt sind. –

8

zu tun, was Sie gesagt haben:

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

Möglicherweise müssen Sie es trimmen aber nicht sicher über die &nbsp;:

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

+1, die Trim-Version ist die beste vollständige Antwort dafür. –

+0

Ah so. Text() wird tatsächlich den Text und ignoriert die HTML-Elemente (das Kontrollkästchen)? Jetzt sind mir die Unterschiede zwischen .text() und .html() klar –