直接通过onclick删除<li> </li>

时间:2010-12-11 14:23:36

标签: javascript html

任何方法只需用onclick直接删除“li”而不用javascript

$go .="<li id=\"go_$id\"><a ondblclick=\"g('$id'); return false;\">$title</a>
             <a onclick=\"go('$id', 'g')\">(x)</a>
    </li>\n";

我需要通过单击(x)来删除它,因此与我的其他功能(代码中的onclick函数)一起组合删除,以便“li”将在onclick上消失。

5 个答案:

答案 0 :(得分:10)

使用Node.parentNode获取父节点并使用Node.removeChild()删除子节点。这是代码的不言自明的版本:

<li><a href="#" onclick="var li = this.parentNode; var ul = li.parentNode; ul.removeChild(li);">remove</a></li>

这是一个更短的版本:

<li><a href="#" onclick="parentNode.parentNode.removeChild(parentNode)">remove</a></li>

以下是如何将它与JS函数结合使用:

<li><a href="#" onclick="remove(this)">remove</a></li>

function remove(link) { 
    link.parentNode.parentNode.removeChild(link.parentNode);
}

答案 1 :(得分:2)

没有

不是没有JavaScript。

答案 2 :(得分:2)

如果您选择将内容与行为(HTML中的JavaScript)分开,那么这可以正常工作(使用jQuery):

$("li").click(function() { $(this).remove(); });  

修改:

$("li a").click(function() { $(this).closest("li").remove(); }); 

但是,我建议使用更具体的选择器 - 例如.closeButton

答案 3 :(得分:0)

如果使用IE,您可以使用VBScript

为了动态更改加载的页面,您必须使用这种或那种类型的客户端脚本(java,javascript,vbscript - 取决于浏览器和安装的插件)。

答案 4 :(得分:0)

function remove_item(selected_item) {
        selected_item.parentNode.removeChild(selected_item);
    }
    li {
        background: #ffe5e5;
        padding: 20px; 
        margin: 15px;
        list-style-type: decimal;
    }
<ul id="list">
        <li class="one" onclick="remove_item(this)">React</li>
        <li class="one" onclick="remove_item(this)">Node.js</li>
        <li class="one" onclick="remove_item(this)">Dart</li>
</ul>

相关问题