CSSの擬似要素::before
や::after
を使って、文字列や画像等を挿入する際にcontent
プロパティを使用しますが、基本的には値をjQueryで直接変更することができません。
理由はそもそも擬似要素は非DOMであるため、JavaScriptから操作することができないようです。
そんな時に値を動的に変更するための方法をまとめます。
方法として「content:attr(属性名)を使って変更する」という方法があります。
詳しく説明するとここにある**attr()
**は、()内に属性名を指定すると、擬似要素が設定されている要素の属性の値を、content
プロパティの値として指定することができます。
そしてjQueryでは要素に対して「.attr( 'warning-message', '請求IDが重複しています。' );」とコンテンツを挿入する設定をすることで動的にコンテンツの中身(テキスト)を変更できるようになります。
例
要素名::before{
content: attr(属性名);
}
jQuery
$( 'クラス名' ).attr( '属性名', '値' );
参考文献:
https://www.tam-tam.co.jp/tipsnote/html_css/post9753.html