2010-03-30 136 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中習慣的那樣。 – 2010-03-31 02:33:49

8

要做到你所說的話:

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

您可能需要,雖然修剪它,不知道的&nbsp;

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

+1,修剪版本是最好的完整答案。 – 2010-03-30 02:28:06

+0

啊所以.text()實際上會獲取文本並忽略html元素(複選框)?現在我清楚了.text()和.html()之間的區別。 – 2010-03-30 03:43:12

相關問題