JQuery удалить на основе до содержания
Можно ли написать функцию JQuery, которая будет удалять все с определенным :before
содержание.
Вот пример заявления, чтобы дать вам что-то, чтобы показать мне код:
удалить все элементы в документе, которые имеют :before
псевдоэлемент с content
установлен в "delete me"
2 ответа
Ммм, вы можете попробовать что-то вроде этого:
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);
}
}
}
}
}
Существует простой ответ: просто добавьте класс для этого элемента с before и удалите его через этот класс. псевдоэлемент не существует в дом, поэтому вы не можете удалить их напрямую через jquery или js