用Javascript替换jQuery函数
我需要用纯javascript替换这个jQuery函数用Javascript替换jQuery函数,javascript,jquery,Javascript,Jquery,我需要用纯javascript替换这个jQuery函数 $('#myTable span.hide').click(function () { $(this).closest("tr").remove(); return false; }); 我试图用这个替换它,但在IE中不起作用 function rem(id) { id.parentNode.parentNode.innerHTML = "<td></td>"; } 功能rem(id)
$('#myTable span.hide').click(function () {
$(this).closest("tr").remove();
return false;
});
我试图用这个替换它,但在IE中不起作用
function rem(id) {
id.parentNode.parentNode.innerHTML = "<td></td>";
}
功能rem(id){
id.parentNode.parentNode.innerHTML=“”;
}
下面是表格的外观:
<tbody id="thebody">
<tr>
<td>
<span onclick="rem(this);" class="hide"></span>
</td>
//More td's here
</tr>
</tbody>
//更多td在这里
请注意,HTML应包含
-原始
无效。要删除
元素本身,请执行以下操作:
function rem(el) {
el.parentNode.removeChild(el);
}
如果要删除最近的
,则需要以下内容:
function rem(el) {
while(el.nodeName != "TR") {
el = el.parentNode;
}
el.parentNode.removeChild(el);
}
这将删除
td
而不是tr
元素,jQuery版本就是这样做的。您的代码将td替换为空td,我的代码只是清理td内容。有什么区别?你也想清除td属性吗?我认为@Shef指的是他的jQuery函数,而不是他试图用纯JavaScript重新创建函数的行为。@Stefan:我指的是OP的jQuery代码,如果你想说的话,不是我的。更正我的第一条评论:我的意思是“这将删除td
的内容,而不是tr
本身。”对不起,当然,您提到的是Niklas(他的)jQuery函数:)
function rem(el) {
el.parentNode.removeChild(el);
}
function rem(el) {
while(el.nodeName != "TR") {
el = el.parentNode;
}
el.parentNode.removeChild(el);
}