2012-01-09 3 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"/>?
Я могу получить <input type="radio" checked="checked"> с $(this).parent().find(":checked").not($(this)), но я не знаю, как получить текст.

+0

Это не правильно сформированный HTML-код, который может быть проблемой –

+0

@ m.edmondson: Что не так в HTML? –

+0

не закрыты, они должны быть '' Foo or ' Foo' или я ошибаюсь? –

ответ

1

После того, как вы получите целевой элемент ...

  • использование [0], чтобы получить элемент DOM в первом индексе от объекта JQuery,

  • использование nextSibling, чтобы получить текстовый узел,

  • data для извлечения текстового содержимого.


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

или

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

Ахаха, опять же. Просто набрал это;) – karim79

+1

Я хочу текст проверенного переключателя, поэтому я меняю ': radio' на': checked' '$ (this) .nextAll (': checked') [0] .nextSibling.data' благодаря – Snote

0

Похоже .val() может работать (API Reference).

$(this).parent().find(":checked").not($(this)).val() 
Смежные вопросы