2012-01-09 63 views
1

我有這樣的代碼獲取文本與jQuery

<input type="checkbox"/> 
<span>Foobar</span> 
<input type="radio" checked="checked">Foo 
<input type="radio">Bar 

如何獲取文本Foo使用jQuery其中$(this)是節點<input type="checkbox"/>
我可以通過$(this).parent().find(":checked").not($(this))得到<input type="radio" checked="checked">,但我不知道如何獲得文本。

+0

這是不正確的HTML,所以你可能有麻煩 – 2012-01-09 14:35:32

+0

@ m.edmondson:什麼是不正確的HTML? – 2012-01-09 14:36:30

+0

沒有關閉它們應該是''Foo或' Foo'還是我誤會了? – 2012-01-09 14:37:43

回答

1

一旦你達到目標的元素...

  • 使用[0]得到的DOM元素從jQuery對象中的第一個指數,

  • 使用nextSibling來獲取文本節點,使用data來提取文本內容。


var txt = $(this).next().next()[0].nextSibling.data 

var txt = $(this).nextAll(':radio')[0].nextSibling.data 
+1

Ahaha,再次。只是輸入這個;) – karim79 2012-01-09 14:36:09

+1

我想要選中的單選按鈕的文本,所以我通過':checked'' $(this).nextAll(':checked')[0] .nextSibling.data'來更改':radio'。 謝謝 – Snote 2012-01-09 15:06:27

0

它看起來像.val()可能工作(API Reference)。

$(this).parent().find(":checked").not($(this)).val()