ID:5cD01m さんの質問

javascriptで:beforeや:afterなど擬似要素のプロパティや値を編集するには
どのようにしたらいいのでしょうか。
jQueryを使わずに扱う方法を教えていただけますか。

みんなの回答 2 件

ID:VTGMMk さんの回答

こんな感じですかね?

JavaScriptで疑似要素afterのcontentと背景色を取得する - jsdo.it - Share JavaScri...

http://jsdo.it/Ituki/xjIN
ID:nbmcg8

トピ主です
ありがとうございます。
こちらは属性値の取得です。最初これを使ってclassNameを使ったり試したのですが
エラーがでてしまって変わらないのですよね。

ID:AnacWF さんの回答

擬似要素を直接に編集することはできません
簡単な制御なら親要素のclass改変で擬似要素を影響すればいいですが
どうしてもやりたいならCSSルールを追加するしかありません

function addCSSRule(selector, css) { 
 var sheets = document.styleSheets, 
  sheet = sheets[sheets.length - 1]; 
 
 if(sheet.insertRule) { 
  sheet.insertRule(selector + '{' +  css + '}', sheet.cssRules.length); 
 }else if(sheet.addRule) { 
  sheet.addRule(selector, css, -1); 
 } 

 
addCSSRule('hoge:after', 'background: red');
ID:nbmcg8

トピ主です
firstChildなど疑似クラスはあるのに・・・と思ってたのですが
inserRuleは知りませんでした。
教えていただいた方法を使って変更することができました、
ありがとうございます。

最終更新日:2013-02-19 (27,299 views)

関連するトピックス

ページ上部に戻る