是否可以编写一个JQuery函数来删除包含特定:before
内容的所有内容。
下面是一个示例语句,它向您展示了一些代码:
删除文档中content
设置为"delete me"
的:before
伪元素的所有元素
发布于 2013-07-31 08:56:19
Mhh,你可以试试这样的东西:
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);
}
}
}
}
}
发布于 2013-07-31 08:48:31
有一个简单的答案,就是用之前在元素上添加类,然后通过那个类删除它。dom中不存在伪元素,因此不能通过jquery或js直接删除它们。
https://stackoverflow.com/questions/17965612
复制相似问题