0

我試圖使用chrome的window.getMatchedCSSRules方法獲得元素的匹配CSS規則。但是這種方法並沒有給出我的僞元素和僞類的規則。但是,通過將僞類/元素名稱作爲方法的第二個參數傳遞,單獨返回規則。window.getMatchedCSSRules適用於所有規則,包括僞元素和僞類規則

window.getMatchedCSSRules(btn, "before") 
window.getMatchedCSSRules(btn, "after") 
window.getMatchedCSSRules(progressEle, "-webkit-progress-value") 

但是,有沒有辦法讓所有的CSS規則,包括其所有的僞類/元素的規則,而沒有經過特定的僞元素/類名作爲參數?

+0

我以前從未見過這種類似的效果。看來該方法從未打算用於網站;這是一種內部方法,只能用於開發工具,即使在那裏也不推薦使用。解釋爲什麼我無法在任何地方找到任何文檔。 – BoltClock

+0

是@BoltClock它不適用於網站。我正在將此用於基於[CEF](https://code.google.com/p/chromiumembedded/)的桌面應用程序,該應用程序具有所有Chrome API – Darshan

+0

IIRC,該方法最初是在WebKit中專門爲因爲它最初使用JavaScript API訪問頁面信息(包括CSS),因此Web Inspector的用途(Chrome DevTools隨後發展)。 WebKit錯誤跟蹤器中存在[Remove getMatchedCSSRules](https://bugs.webkit.org/show_bug.cgi?id=79653)問題。 –

回答

2

您不能使用javascript或jquery作爲僞元素,因爲它們不是(還)DOM元素。

但是,如果你想通過JS操縱CSS元素 - 你也許能夠實現與https://github.com/Box9/jss

希望幫助