首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除节中的空元素组合

删除节中的空元素组合
EN

Stack Overflow用户
提问于 2012-06-30 15:59:52
回答 2查看 118关注 0票数 1

在多个部分(accordion)中,我有一个段落和无序列表的组合(动态生成)。

我正在尝试实现的是删除空标签/一个或另一个,如果为空,则两个都删除。如果'p‘和'ul’元素都为空,则删除其父元素'section‘。

代码语言:javascript
运行
复制
<section>
    <span>-</span>
    <h3>(a)Heading</h3>
    <div class="acc-box" style="display: block;">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <ul></ul>
    </div>
</section>
<section>
    <span>-</span>
    <h3>(b)Heading</h3>
    <div class="acc-box" style="display: block;">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <ul>
            <li><a href="#" target="new.window">link</a></li>
            <li><a href="#" target="new.window">link</a></li>
            <li><a href="#" target="new.window">link</a></li>
            <li><a href="#" target="new.window">link</a></li>
        </ul>
    </div>
</section>
<section>
<span>-</span>
<h3>(d)Heading</h3>
<div class="acc-box" style="display: block;">
    <p>text here</p>
    <ul></ul>
</div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-30 17:00:51

遍历每个部分并获取您感兴趣的元素。然后对它们进行过滤,只得到空的。如果这两个集合的大小相同,则它们都是空的,您可以删除相应的部分。如果不是,只删除空元素。

代码语言:javascript
运行
复制
$('.acc-box').each(function() {
    var $elements = $(this).children('p, ul'), // get all intersting elements
        $empty = $elements.filter(function() { // get empty ones
             return $.trim($(this).text()) === "";
        });

    if($empty.length === $elements.length) { // all are empty
        $(this).closest('section').remove(); // remove section
    }
    else {                                   // otherwise
        $empty.remove();                     // remove empty elements
    }
});
票数 1
EN

Stack Overflow用户

发布于 2012-06-30 16:52:50

嘿,你可以试试这个:http://jsfiddle.net/qjyzc/

同样,你也可以为li做同样的事情。

希望这能帮上忙,让我知道我是否漏掉了什么

代码

代码语言:javascript
运行
复制
$('p')
    .filter(function() {
        return $.trim($(this).text()) === ''
    })
    .remove()​
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11272507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档