首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery根据之前的内容删除

jquery根据之前的内容删除
EN

Stack Overflow用户
提问于 2013-07-31 16:45:27
回答 2查看 83关注 0票数 0

是否可以编写一个JQuery函数来删除包含特定:before内容的所有内容。

下面是一个示例语句,它向您展示了一些代码:

删除文档中content设置为"delete me":before伪元素的所有元素

EN

回答 2

Stack Overflow用户

发布于 2013-07-31 16:56:19

Mhh,你可以试试这样的东西:

代码语言:javascript
运行
复制
var sheets = document.styleSheets;
var len = sheets.length;
var ba = /:before|:after/;

// Loop throught all stylesheets
for (var i = 0; i < len; i++) {

    // work out which method to get the CSS rules
    var sheet = sheets[i],
        rules = sheet.cssRules || sheet.rules;

    // Loop through all rules
    for (var r = 0, rule; rule = rules[r++];) {

        // if this rule uses one of the test selectors
        if (rule.selectorText.match(ba)) {
            if (rule.style.content.indexOf('delete me') !== -1) {
                var elems = document.querySelectorAll(rule.selectorText.split(':')[0]);            
                for (var e = 0, elem; elem = elems[e++];) {
                    // remove the node
                    document.body.removeChild(elem);
                }
            }
        }
    }
}

http://fiddle.jshell.net/6m5kB/1/

票数 1
EN

Stack Overflow用户

发布于 2013-07-31 16:48:31

有一个简单的答案,就是用之前在元素上添加类,然后通过那个类删除它。dom中不存在伪元素,因此不能通过jquery或js直接删除它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17965612

复制
相关文章

相似问题

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