我想动态更新我的表行,我应该使用jquery来获取表格单元格的值。问题是抓取的值是null而不是" Title"。您可以查看下面的代码并帮我找出错误。我已经研究过并发现我应该使用text()而不是html()但仍然无法得到结果。
$.each(data.results, function(i, res) {
var row = $('<tr>').append(
$('<td>').html(res.id),
$('<td class="title" contenteditable="true">').html(res.title),
$('<td>').html('<a href="#" class="update" name="'+res.id+'">Update</a>')
);
item.append(row);
});
$("#show").html(item);
$("body").on("click", ".update", function() {
var self = this;
var id = $(self).attr("name");
var title = $(self).closest(".title").text(); //cannot grab the value,
...
答案 0 :(得分:1)
我找到了答案。它应该是
var title = $(self).closest('tr').children('td.title').text();
答案 1 :(得分:0)
closest
在父元素中查找匹配项,您应该使用siblings
代替...
更新
其中一个应该根据您提供的代码工作,如果他们不需要提供生成的HTML或至少提供您使用的完整代码...
$(this).closest('td').siblings('.title').text();
$(this).closest('tr').find('.title').text();
$(this).parent().prev().text();
... and some other methods
$(this).siblings('.title').text()
无效的原因是因为this
<a>
而<td>
没有{{1}}没有兄弟姐妹