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 获取文本时,我得到“A Title”。是否有可能获得“Chapter 1\nA Title”?

谢谢

4

1 回答 1

29

使用getComputedStyle()

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

before()是一个用于遍历 DOM 的 jQuery 方法,它获取/设置前面的元素,它不访问伪元素。

工作 JS Fiddle,由Eric提供。

虽然不幸的是,这种方法返回声明中使用的文字字符串content,而不是实际生成的内容。

于 2013-02-16T17:54:28.363 回答