2013-07-18 74 views
2

例如,我有這樣一行:jQuery的工作原理是:之前和之後:選擇器之後?

$('div#about_title:after').remove(); 

,它似乎並沒有工作,我怎麼能做到這一點?

+0

你在說什麼': :在'/'::之後'僞元素之前?如果是這樣,不,沒有辦法直接從DOM操作那些。 –

+1

另一個有用的小技巧:你正在使用的選擇器(''div#about_title')將比執行簡單的'#about_title'更慢。這是因爲id-only選擇器可以直接映射到getElementById(它閃電般快),而其他的則必須通過選擇器引擎([sizzle](http://sizzlejs.com/))進行解析。 – jbabey

回答

2

僞元素,所以它們不能被JavaScript(以及因此的jQuery)來操縱。

您可以編輯CSS將其刪除:

<div class="afterStuff"></div> 

div.afterStuff:after { 
    content: "hi"; 
} 

$('.afterStuff').removeClass('afterStuff'); 

我會建議增加/過直接修改聯樣式刪除類。

http://jsfiddle.net/UUPks/

0

嘗試使用由:before:after不要在DOM技術上存在創建的.next()代替:after

0

你不能因爲使用你已經通過ID獲取元件後ID只對應一個元素,那麼爲什麼就不需要把後

$('div#about_title').remove(); 
相關問題