JavaScript删除元素

时间:2017-10-19 13:35:14

标签: javascript html

这是我的.html文件的片段

<ul>
    <li>test entry1</li>
    <li>test entry2</li>
    <li>&nbsp;</li>
    <br />
    &nbsp;
</ul>

我希望删除空的<li></li>标记。

这是我的JavaScript文件的片段。

var rules =
        {
            elements: 
            {

            li: function(element)
            {
                if(isEmpty)
                {
                    element.remove();
                }
            }
        }


function isEmpty(element)
{
    return element.childNodes.length === 0  && element.html().trim() === "";        
}

现在我的问题是,看起来函数isEmpty每次都返回ture因此删除每个列表条目而不仅仅是空条目条目。

亲切的问候

1 个答案:

答案 0 :(得分:0)

这是我的小贡献。此代码有效

<!DOCTYPE html>
<html>
<body>

<ul>
    <li>test entry1</li>
    <li>test entry2</li>
    <li>&nbsp;</li>
    <br />
    &nbsp;
</ul>

<script>
var elements = document.querySelectorAll('li');

for( i = 0 ; i<elements.length ; i++) {
    if(isEmpty(elements[i])){
        elements[i].parentNode.removeChild(elements[i]);
        };
    };

function isEmpty(element)
{
    return !element.textContent.trim();        
}

</script>

</body>
</html>