我想使用 Vanilla JavaScripttextContent
将一个单独的span
元素继承到content
一个样式中。:after
正如下面在 HTML 中看到的那样,span
with className
span-class是我要从中提取的元素textContent
。className
带有sampleparent
的div是div
带有className
random的(其中包含span-class),以及p
我要为其应用:after
样式的元素,带有一个继承的content:" ";
.
这些元素在整个网站中以相同的方式重复className
,因此需要一个数组,如下面的Desired Outcome所示。
HTML
<div class="sample">
<div class="random">
<span class="span-class">example</span>
</div>
<p class="p-text">some random text, some random text, some random text</p>
</div>
<div class="sample">
<div class="random">
<span class="span-class">example2</span>
</div>
<p class="p-text">some random text, some random text, some random text</p>
</div>
CSS
.p-text:after{
content: "text I want to be dynamic";
}
期望的结果:
注意:我知道这pText:after.content
不起作用,但它最能代表我想要实现的目标
var sample = Array.from(document.querySelectorAll(".sample"));
sample.forEach(function(smpl) {
var textContent = smpl.querySelector(".span-class").textContent;
var pText = smpl.querySelector(".p-text");
if (textContent === "example") {
pText:after.content = "example";
} else if (textContent === "example2") {
pText:after.content = "example2";
}
})
另请注意:创建另一个span
元素并将其放在 的末尾textContent
,.p-text
虽然是一种解决方案,但不是一种选择。
提前感谢任何解决方案!