Я хочу использовать текст радиовходов. Как я могу получить его с помощью jQuery или JavaScript
Я хочу использовать текст 5 и 6, показанный ниже. Я не могу изменить HTML, так как он генерируется автоматически, и есть много других радио с такой же структурой. Как я могу добиться этого с помощью jQuery или JavaScript и хранить их как переменные.
<label class="radio">
<label style="display: none;">
<input type="radio" name="x_keeper1_price" id="x_keeper1_price_0" value="21"/>
</label>
5
</label>
<label class="radio">
<label style="display: none;">
<label style="display: none;">
<input type="radio" name="x_Defd5_price" id="x_Defd5_price_0" value="28"/>
</label>
</label>
6
</label>
3 ответа
Решение
Если ваш текст после переключателя - HTML-код, это лучшее решение:
var text = $("#x_keeper1_price_0") //the radio button
.closest("label.radio") //the label with class=radio)
.html() //the html code
.replace(/<label[\d\D]+<\/label>/, '');
/* Removing the "second" label and its content.
That will get the text after the radio button. */
alert(text);
jsfiddle: http://jsfiddle.net/72KcV/3/
Для этой конкретной разметки вы можете использовать следующий код jQuery:
$('label.radio').each(function(){
console.log($(this).contents()[2].nodeValue)
});
Вы можете сделать следующее
$('.radio').text()
см. рабочее решение здесь: http://jsfiddle.net/TfP5X/
Поскольку мы используем класс для выделения текста, вы можете зациклить селектор и сделать что-то с каждым значением, например, так.
var items = $('.radio');
$.each(items, function(i, item) {
var text = $(item).text();
//do something with text
});