Javascript 无法修改onclick调用函数中节点的值

Javascript 无法修改onclick调用函数中节点的值,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我使用PHP设置调用onclick事件的函数的参数,并将“this”(按钮)作为参数传递,以便在我的函数中访问最近的节点并更改其值。 但是,我无法更改节点的值。 我明白了 这不是一个函数 每次尝试修改时都会出错 PHP代码: echo "<tr><td>"; echo "<button onclick='updateValue($index,$byte,this)'></button>"; echo "<td>".$byte."<

我使用PHP设置调用
onclick
事件的函数的参数,并将“this”(按钮)作为参数传递,以便在我的函数中访问最近的
节点并更改其值。 但是,我无法更改节点的值。 我明白了

这不是一个函数

每次尝试修改时都会出错

PHP代码:

echo "<tr><td>";
echo "<button onclick='updateValue($index,$byte,this)'></button>";
echo "<td>".$byte."</td>";
echo "<td>".$comment."</td>";
echo "</tr>";

正如错误消息所说,
最近的
不是DOM节点上的函数


您已经标记了这个问题,jQuery对象确实有一个
最近的
方法,但是您没有将DOM节点包装到jQuery对象中

检查此小提琴手和获取最后一个子td节点的方式。


如果你想在最后一个
td
中写,你应该使用
.html()
而不是
.val()

.val()
仅用于
输入



正确方法:
$(按钮)。最近('tr')。查找('td:last child')。html(数据)

请发布所有相关代码,包括html。
$(按钮)
应该可以工作不,我得到了非常相同的结果函数recive
index,byte
,但你不能在函数中使用它们。。。所以您使用的是
val(data)
,数据未设置…如果您共享所有代码,也许我们可以帮助你。事实上,我尝试过一些事情,所以我失去了理智,但我确实尝试过将DOm节点包装在一个jQuery对象中,更糟糕的是,我甚至无法访问.lastchild,但使用我发布的代码,我可以访问我想要的lastchild,但不能修改它。我尝试过$(按钮)。最近('tr')。lastchild.html(数据)但这也不起作用。为什么它与你的提议相一致,而与我的尝试不一致?
function updateValue(index,byte,button){
     $.ajax({
       url : 'commentrefresh.php',
       type : 'GET',
       data : 'bytenumber=' + byte +"&byte_id=" +index,
       datatype : 'text',

       success : function(data){
           button.closest('tr').lastChild.val(data)
       }
   })
}
$(button).closest('tr').find('td:last-child')