html - 修改伪元素:after content with Jquery的css样式

标签 html css pseudo-element

<分区>

我有一个用 CSS3 设计的气球形状。
JS Fiddle Example 它有三 Angular 形

:after {
    content: "";
}

我需要用 Jquery 修改 left css 参数来左右移动三 Angular 形。 我知道我不能从 DOM 中选择伪元素,但是有没有另一种方法可以改变 :after style with js?

是的,我们可以像这样在里面放另一个div

<div class="pop"><div class="arr"></div></div>

但是很丑

最佳答案

有一个更简单的方法:只需将伪元素的 content 属性值设置为 attr(some-attribute-name),它将使用 HTML 的值父元素的属性作为伪元素的内容。然后,您可以在父元素上使用 setAttribute() 方法来动态更改值。下面是此方法实际效果的模拟片段。我也做了 blog post with further details包含一个现场示例 fiddle 。

CSS

#SomeElement:after {
    content: attr(some-attribute-name);
}

HTML

<div id="SomeElement" some-attribute-name="Pseudo content here!"></div>

JavaScript (更改伪内容)

var someElement = document.getElementById('SomeElement');
someElement.setAttribute('some-attribute-name', 'New pseudo content here!');

关于html - 修改伪元素:after content with Jquery的css样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7882325/

相关文章:

javascript - 仪表板应用架构

javascript - 如何通过弹出菜单中的选定选项更改进行设置?

Javascript 框复制自身

html - CSS 内容属性 : is it possible to insert HTML instead of Text?

css - :not(:empty):before pseudo-classes/elements combination

html - 居中伪元素

html - 在 Bootstrap 行的链接中包装图像

javascript - 在同一窗口中打开网页网址

javascript - 如何通过搜索包含的 div 的 id 从容器中删除类?

html - 需要帮助创建响应式模板