我在点击.tb-delete-team a
时尝试获取tb-team-name的值,但出于某种原因,它会呈现为
"您确定要删除
[object Object]
吗?"
当我这样做时
$('.hutdb-modal-body').html(nameOutput);
它显示了应该做的链接。我究竟做错了什么? (我不是很擅长jQuery)
HTML
<tr role="row" class="odd">
<td width="80%;" class="row-label tb-team-name bold"><a href="/17/builder/12037">Goon Squad</a></td>
<td class="tb-synergy">3</td>
<td class="tb-team-overall">86.05</td>
<td class="tb-delete-team"><a class="table-button" href="/s/builder/del/12037"><i class="fa fa-trash" aria-hidden="true"></i> Delete</a></td>
</tr>
的jQuery
$('.tb-delete-team a').click(function(event) {
event.preventDefault();
var addressValue = $(this).attr('href');
var nameValue = $(this).parent('#my_teams_wrapper table tbody tr td').parent('#my_teams_wrapper table tbody tr').children('.tb-team-name').children('a');
var nameOutput = nameValue.clone().val('.tb-team-name');
$(this).each(function () {
$('.hutdb-overlay').show();
$('.hutdb-modal').fadeIn();
$('.hutdb-modal-body').html('Are you sure you want to delete ' + nameOutput + '?');
$('.hutdb-modal-button-group').html( '<a class="cancel" href="#">Cancel</a><a class="confirm" href="'+addressValue+'"><i class="fa fa-trash" aria-hidden="true"></i> Delete</a>' );
$('.hutdb-modal-button-group .cancel').click(function() {
$('.hutdb-modal').hide();
$('.hutdb-overlay').hide();
});
});
});
答案 0 :(得分:0)
该行
var nameOutput = nameValue.clone().val('.tb-team-name');
应该是
var nameOutput = nameValue.clone().val();
虽然我很好奇为什么要克隆最初的元素。总的来说,当你明智地使用ID或类会使这个繁琐的4行任务时,我认为你正在努力遍历DOM。
答案 1 :(得分:0)
尝试在下面使用nameValue:
var nameValue = $(this).closest('tr').find('.tb-team-name').text();
closest
匹配并返回DOM中的第一个父选择器。见documentation
上面的代码首先在DOM中遍历,直到它遇到第一个tr
(其父级),然后遍历到匹配的tr
并找到.tb-team-name
并检索其值(或<a>
标签的文字。
之后您可能不需要nameOutput
。