Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript替换jQuery函数_Javascript_Jquery - Fatal编程技术网

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

我需要用纯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){
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);
}