jquery - 自动将文本从元素复制到:before content attribute

标签 jquery css-selectors pseudo-element

我试图在标题上实现缩放文本效果,而不创建额外的文本元素。尝试这样做,我使用 ::before 伪元素。然而,要创建这种效果,伪元素必须具有与实际元素相同的内容。由于这无法在 HTML 中完成,并且在 CSS 中需要做大量工作(因为它多次定位..),因此我正在寻找一种适用于具有此效果的所有元素的通用方法。

enter image description here

我正在考虑使用 jQuery 方式使用 .attr() 函数来复制文本并将其附加到伪元素,但据我所知这是不可能完成的.

$(function() {
  $('h1').each(function() {
    var Text = "$(`this`).text()";
    $('this::before').attr('content', Text);
  });
});

还有其他选择吗?

<小时/>

<子> 目前CSS效果比较简单。

:before {
  transform: scale(1.5)
  opacity: .2
  content: "text here"
}

最佳答案

您无法使用 javascript 访问 psuedo 元素,但可以使用 CSS 访问元素。 检查片段。

h1::before{
  content: attr(data-before);
}
<h1 data-before="Before Content">
Some Content
</h1>

我猜你甚至不需要 javascript。编辑了片段。

关于jquery - 自动将文本从元素复制到:before content attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46332165/

相关文章:

jquery - 底部 Phonegap 页面上的白色间隙

css - 如何在悬停另一个元素时显示一个元素?

javascript - CSS 选择器只针对直系子代而不是其他相同的后代

javascript - 厌恶IE,拒绝回复JQuery Post

javascript - 在 Iframe 中禁用 onbeforeunload

javascript - 如何使用 jQuery 动态更改基于 JSON 文件的数据

css - E#myid 与#myid CSS 选择器

CSS :after with::after 在 IE8 中不起作用

html - 使用 :after element - Animate out when mouse is out of button dimensions 对按钮的悬停效果

html - 我可以制作 CSS :after pseudo element append content outside the element? 吗