11

私は次のCSSを持っています

h1:before {
    content: "Chapter " counter(lvl1) "\000d\000a";
    counter-increment: lvl1;
    white-space: pre-wrap;
}
h1 {
    page-break-before: right;
}

そしてこのHTML

<p>...</p>
<h1>A Title</h1>
<p>...</p>

指定されたCSSを使用すると、次のようなものが得られます

Chapter 1
A Title

jQuery でテキストを取得しようとすると、「タイトル」が表示されます。「第1章\nAの称号」を獲得できる可能性はありますか?

ありがとう

4

1 に答える 1

29

使用getComputedStyle():

$('h1').each(function(){
    console.log(window.getComputedStyle(this,':before').content);
});

before()DOM をトラバースするために使用される jQuery メソッドであり、前の要素を取得/設定します。疑似要素にはアクセスしません。

Eric提供のワーキング JS Fiddle

ただし、このアプローチでは、実際に生成されたコンテンツではなく、宣言で使用されたリテラル文字列が返されるという残念な警告があります。content

于 2013-02-16T17:54:28.363 に答える