Javascript 无法修改onclick调用函数中节点的值
我使用PHP设置调用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."<
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。$(按钮)
应该可以工作不,我得到了非常相同的结果函数reciveindex,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')