2014-02-03 2 views
0

Используя jQuery, я добавляю строки в таблицу, и каждая строка содержит тег привязки. Затем jQuery должен добавить ссылку на тег привязки, но ссылки не отображаются. Другие данные (например, дата, местоположение) заполняются штрафом, поэтому я не уверен, в чем проблема.Добавление ссылки на добавленную строку таблицы с использованием jQuery

JQuery:

for (var i = 1; i <= 20; i++) { 
    ... 
    $('.recent-reports tbody').append('<tr><td></td><td></td><td><a class="js-pdf-download" href="">Download</a></td></tr>'); 
    $('.recent-reports tbody tr:last').find('td').eq(0).text(date) 
            .find('td').eq(1).text(location) 
            .find('.js-pdf-download').attr("href", link) 
    ...  
} 

HTML:

<table class="recent-reports"> 
    <thead> 
    </thead> 
    <tbody> 
    </tbody> 
</table> 
+0

Еще нет решения. Может ли это связано с тем, что вы не можете манипулировать классом, который динамически добавлен с помощью jQuery? –

+2

Зачем добавлять что-то, а потом искать? Просто добавьте данные напрямую. – Johan

+0

Данные, которые должны быть заполнены, извлекаются из базы данных, а количество строк таблицы зависит от количества записей в db. –

ответ

1

Благодаря Johann нашел исправление при одновременном упрощении моего кода в то же время. Вместо добавления строки к таблице и затем, добавляя в данные, теперь добавляю строку с данными одним махом.

$('.recent-reports tbody').append('<tr><td>' + date + '</td><td>' + location + '</td><td><a class="js-pdf-download" href="' + link + '" target="_blank">Download</a></td></tr>') 

Кроме того, неуклюжее решение, но тот, который был бы в соответствии с моим оригинальным подходом:

... 
    $('.recent-reports tbody tr:last').find('td').eq(0).text(date) 
    $('.recent-reports tbody tr:last').find('td').eq(1).text(location) 
    $('.recent-reports tbody tr:last').find('.js-pdf-download').attr("href", link) 
    ... 
Смежные вопросы