使用jQuery 存取偽元素的樣式屬性
考慮到遍歷CSS 規則的局限性,本文探討使用jQuery 選擇器來定位由jQuery 選擇器來定位由偽元素規則引起的具有特定效果的元素。
例如,考慮一個元素:
.commentarea .author:before { background-image: url(http://...); background-position: -9999px -9999px; }
可以選擇性地修改:
.author[href$="gbacon"]:before /* ... */ { content: ""; background-position: 0 -140px }
要選擇具有預設背景位置的偽元素,以下選擇器語法不起作用:
$(".commentarea .author:before")
類似地,嘗試使用.siblings()尋找具有特定背景圖像的元素返回空結果。
問題的癥結在於偽元素的本質。它們沒有獨立的選擇器,而是修改周圍的元素。換句話說,:before 和:after 不選擇;
例如,在HTML:
<span>
和CSS:
.a .b:before { content: "|Inserted using :before|"; }
文本“|Intedser using : before|」插入到內部span 元素之前,因為類別b 是類別a 的後代。這說明偽元素沒有自己的選擇器,但會影響其父元素。
因此,不可能使用標準 jQuery 選擇器語法直接選擇偽元素。一個可能的解決方案是利用 jQuery 插件,例如 jQueryRule (http://flesler.blogspot.com/2007/11/jqueryrule.html) 來提取原始 CSS 規則。
以上是如何使用 jQuery 存取 CSS 偽元素的樣式屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!