Задать вопрос
keslo
@keslo

Как получить значение элемента td?

Добрый день.
Вопрос плевый, но никак не могу уразуметь.

Есть следующий код:

<table class="table" id="sf">
  <thead>
    <tr>
      <th>Артикул</th>
      <th>Номенклатура</th>
      <td><a href="#" id="">Добавить</a></td>
    </tr>
  </thead>
  <tbody>
    <tr class="tablesorter-childRow">
      <td>WG1642430283</td>
      <td>амортизатор кабины A7 задний</td>
      <td><a href="#" id="WG1642430283">Добавить</a></td>
    </tr>
    ...
  </tbody>
</table>


$('#sf tr').each(function(index, item) {

	var self = $(this);
	console.log(self);
	
  	$('<td />', {
  		append: $('<a />', {
  			text: 'Добавить',
  			href: '#',
  			id: $(self).find('td:eq(0)').text()
  		})
  	}).appendTo($(this));
})


В коде я хочу добавить новую ячейку с ссылкой. Но никак не могу присвоить параметру
id новой ссылки значение, по сути, первой ячейки td текущей таблицы.

Значение приходит в виде string, но вid в итоге вставляется пустота.

Что я не учел?
  • Вопрос задан
  • 706 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 2
@Niomin
В self что лежит? tr или текущая td? Или table?
Если tr, то надо использовать не find, а siblings
Ответ написан
@vdem
А зачем так сложно?
var $td = $('<td />');
var $a = $('<a />', {
    text: 'Добавить',
    href: '#',
    id: $(self).find('td:eq(0)').text()
});
$td.append($a);
$(this).append($td);

UPD: Вот так еще лучше:
$(this).append(
    $('<td />').append(
        $('<a />', {
            text: 'Добавить',
            href: '#',
            id: $(self).find('td:eq(0)').text()
        })
    )
);

И да, действительно, что находится в self?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы