无法在名为onclick的函数中修改节点的值

时间:2019-04-04 11:53:59

标签: javascript php jquery html

我使用PHP设置了在onclick事件上调用的函数的参数,并且还将“ this”(按钮)作为参数传递,以便在函数中访问最近的<td>节点,并改变它的价值。 但是,我无法更改节点的值。 我得到

  

不是功能

每次尝试修改它时,都会出现

错误。

PHP代码:

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

还有我的JS函数:

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)
       }
   })
}

2 个答案:

答案 0 :(得分:1)

检查此提琴手以及获取lastChild td节点的方式。
v-if

$(button).closest('tr').find('td:last-child')


而且,如果您想在最后一个td中书写,则应使用.html()而不是.val()

  

.val()仅适用于inputs


正确的方式:

$(button).closest('tr').find('td:last-child').html(data)

答案 1 :(得分:0)

如错误消息所述,closest不是DOM节点上的函数。

您已经标记了这个问题,并且jQuery对象确实具有一个closest方法,但是您尚未将DOM节点包装在jQuery对象中。