是否有可能編寫一個JQuery函數,將刪除與特定:before
內容的一切。jquery根據之前的內容刪除
這裏有一個例子語句來給你的東西給我看的代碼:
去除文檔中有content
設置爲"delete me"
是否有可能編寫一個JQuery函數,將刪除與特定:before
內容的一切。jquery根據之前的內容刪除
這裏有一個例子語句來給你的東西給我看的代碼:
去除文檔中有content
設置爲"delete me"
有簡單的答案一個:before
僞元素中的所有元素只是添加與之前的元素類相同,並通過該類刪除它。僞元素不DOM存在就是爲什麼你不能直接通過的jQuery或JS
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);
}
}
}
}
}
要刪除整個節點,或者只是它的':before /:after'僞元素? – yckart
好像它是有問題的:http://stackoverflow.com/questions/5041494/manipulating-css-pseudo-elements-using-jquery-e-g-before-and-after – Cherniv