Получение текста из ячеек td с помощью jQuery
У меня есть этот код в jQuery:
children('table').children('tbody').children('tr').children('td')
Которая получает все ячейки таблицы для каждой строки. Мой вопрос: как я могу получить текстовое значение в каждой ячейке в каждой строке?
Должен ли я использовать .each()
для цикла через все children('td')
? Как получить текстовое значение для каждого td
?
Ответы
Ответ 1
Прежде всего, ваш селектор переполнен. Я предлагаю использовать селектор классов или идентификаторов, например, мой пример ниже. После того как вы скорректировали свой селектор, просто используйте jQuery . Each(), чтобы выполнить итерацию по коллекции:
Селектор ID:
$('#mytable td').each(function() {
var cellText = $(this).html();
});
Селектор классов:
$('.myTableClass td').each(function() {
var cellText = $(this).html();
});
Дополнительная информация:
Посмотрите jQuery selector docs.
Ответ 2
Вы можете использовать .map
: http://jsfiddle.net/9ndcL/1/.
// array of text of each td
var texts = $("td").map(function() {
return $(this).text();
});
Ответ 3
Я бы дал вашим tds конкретный класс, например. data-cell, а затем используйте что-то вроде этого:
$("td.data-cell").each(function () {
// 'this' is now the raw td DOM element
var txt = $(this).html();
});
Ответ 4
$(".field-group_name").each(function() {
console.log($(this).text());
});
Ответ 5
$(document).ready(function() {
$('td').on('click', function() {
var value = $this.text();
});
});