如何以編程方式使用Jquery刪除此'content
'?刪除元素CSS前的內容
body:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
如何以編程方式使用Jquery刪除此'content
'?刪除元素CSS前的內容
body:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
這是不可能直接訪問僞元素jQuery的,因爲他們不是DOM的一部分。
但是作爲一種解決方法,你可以立足僞元素上的一類對人體,如:
body:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
body.foo:before {
display: none;
}
然後隱藏元素的jQuery:
$('body').addClass('foo');
這裏是一個小提琴僞元素被刪除的身體上的點擊事件:http://jsfiddle.net/webtiki/6h5awgky/ – 2014-12-03 11:07:56
@ web-tiki謝謝。我向psuedo元素添加了一些內容,使其更加明顯發生了什麼:http://jsfiddle.net/6h5awgky/1/ – 2014-12-03 11:10:10
不錯。我很喜歡這個。 – lharby 2014-12-03 11:26:36
你可以將其覆蓋:
document.styleSheets[0].addRule('body:before', 'display: none !important;');
使用JavaScript可以修改body:before
的display
道具並將其設置爲none
。
檢查元素以查看修改的規則。
var ss = document.styleSheets;
for (i = 0; i < ss.length; i++) {
var rules = ss[i];
for (j = 0; j < rules.cssRules.length; j++) {
var r = rules.cssRules[j];
if (r.selectorText == "body:before") {
console.log('Before: ' + r.cssText);
r.style.display = 'none';
console.log('After: ' + r.cssText);
}
}
}
body:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
你不能用JavaScript操作CSS僞元素,因爲它們不是技術上DOM的一部分。 – George 2014-12-03 11:02:51
我可以刪除這個使用CSS? – wawanopoulos 2014-12-03 11:03:29
'body:before {display:none; }' – 2014-12-03 11:04:44