jquery基于之前的内容删除

时间:2013-07-31 08:45:27

标签: javascript jquery css pseudo-element css-content

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

这里有一个示例声明,可以向您展示代码:

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

2 个答案:

答案 0 :(得分:1)

嗯,你可以尝试这样的事情:

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 :(得分:0)

有一个简单的答案,只需在该元素上添加类,然后通过该类删除它。 dom中不存在伪元素,为什么你不能通过jquery或js

直接删除它们