2014-12-03 2 views
0

Как я могу удалить это 'content' программным путем с помощью JQuery?Удалить содержимое из элемента before CSS

body:before { 
    content: ''; 
    display: inline-block; 
    height: 100%; 
    vertical-align: middle; 
    margin-right: -0.25em; 
} 
+4

Вы не можете манипулировать CSS элементы псевдо используя JavaScript, поскольку они не являются технически частью DOM. – George

+0

Я могу удалить это с помощью css? – wawanopoulos

+0

'body: before {display: none; } ' –

ответ

3

Это не представляется возможным прямой доступ к псевдопользователей элементов в 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'); 
+0

вот скрипка, которую псевдоэлемент удаляется на событие click на теле: http://jsfiddle.net/webtiki/6h5awgky/ –

+0

@ web-tiki Спасибо. Я добавил некоторое содержание в элемент psuedo, чтобы сделать его более очевидным, что происходит: http://jsfiddle.net/6h5awgky/1/ –

+0

Ницца. Мне это очень нравится. – lharby

0

Вы можете перезаписать его :

document.styleSheets[0].addRule('body:before', 'display: none !important;'); 
0

Использование JavaScript вы можете изменить body:before «s 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; 
 
}