Jis*_*had 0 html javascript ajax jquery
我试图用 jquery 对我的 html 页面进行分类,这是我的代码。
<tbody>
<tr>
<td class="itmId">1</td>
<td class="entryNAmee">David</td>
</tr>
<tr>
<td class="itmId">2</td>
<td class="entryNamee">Alan</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
我正在将 td 更改为使用 jquery 输入文本,然后单击除第一列之外的每个 td。这工作正常,当上述事件执行时,tr 变得如下所示。
<tr>
<td class="itmId">1</td>
<td class="entryNAmee nowText">
<input type="text" value="Alan">
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
进行更正后,事件模糊不清。代码如下。
js。
$(document).on('blur','table tr td input',function()
{
var fieldNewValue = $(this).val();
var fieldNewId = $(this).closest('td.itmId').addClass("kkkkkkkkk");
//console.log(fieldNewId);
alert(fieldNewId);
/*$.ajax({
typr:"post",
url:"updateEntry",
dataType:'json',
data:{newValue:fieldNewValue},
success:function(data)
{
console.log("updated succesfully");
}
});
*/
$(this).parents('td').text(fieldNewValue).removeClass('nowText');
$(this).remove();
});
Run Code Online (Sandbox Code Playgroud)
我想在单击的 td 的上侧 td 添加一个类。我尝试了最接近和父母的 jquery api,但没有用,
任何人都可以请支持我如何赶上td?
jquery中最近的和父母之间有什么不同。
谢谢
改变:
var fieldNewId = $(this).closest('td.itmId').addClass("kkkkkkkkk");
Run Code Online (Sandbox Code Playgroud)
到:
var fieldNewId = $(this).closest('tr').find('td.itmId').addClass("kkkkkkkkk");
Run Code Online (Sandbox Code Playgroud)
您可以阅读文档以查看.closest()和.parents()之间的差异,但是在您的代码中,您没有在 DOM 上遍历足够远。$(this).closest('td.itmId')正在寻找一个在您预期的位置不存在的 td,因为它是您所在的父单元格的兄弟。
你也可以使用(this).closest('td').prev()代替(this).closest('tr').find('td.itmId')