使用li的id从ul中删除li

时间:2016-11-11 13:36:12

标签: javascript html

我已经下载了li中的选项。我想动态删除具有特定ID的li。结构如下所示

<ul class="es-list" style="top: 305.483px; left: 191.25px; width: 194px; display: block;">

    <li id="from_7" class="" value="7" style="display: block;">Adelaide</li>
    <li id="from_1" class="" value="1" style="display: block;">Alexandria</li>
    <li id="from_17" class="" value="17" style="display: block;">Antwerp</li>
    <li id="from_19" value="19" style="display: block;">Aqaba</li>

我试过

$('#from_7').remove();

但它没有删除li

3 个答案:

答案 0 :(得分:4)

我相信您可以通过JS / jQuery动态添加<li>元素。如果是这种情况,请将您的行更改为

$('body #from_7').remove();

还要确保页面中包含jQuery插件。

这种行为的原因是,无论何时在页面上动态添加项目(例如,通过JS在页面加载时存在的空<li>中添加<ul>项),选择器必须是:

$('<name of any parent which existed when page loaded> <actual element selector, in your case is ID of element>');

我将正文添加为 li ,因为它总是在加载页面时存在的父作品。

稍后编辑:

尝试在添加元素后,在document.ready()和 ONLY 中添加此命令。在添加元素之前不要执行它,因为什么都不会发生。

  $(document).ready(function(){
        // code that adds `<li>`


        // other code...

        // remove your targeted LI element only when you press on any LI, and ONLY after its been added to the list
        $('body ul.es-list').on('click','li', function(){
              $('body ul.#from_7').remove();
        })
  });

答案 1 :(得分:4)

您必须检查浏览器控制台是否有错误,我认为您缺少代码中的jQuery库文件。

&#13;
&#13;
<table>
    @for (int i = 0; i < Model.Array.GetLength(0); i++)
    {
        <tr>
            @for(int j=0;j<Model.Array.GetLength(1);j++)
            {
                <td>
                    @Model.Array[i, j]
                </td>
            }
        </tr>
    }
</table>
&#13;
$(document).ready(function(){
    $('#from_7').remove();
});
&#13;
&#13;
&#13;

答案 2 :(得分:3)

尝试

var elem = document.getElementById('id');
elem.parentNode.removeChild(elem);