首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 动态修改_after_before伪元素content值

今天做了一个有关js如何绑定动态修改伪类的content的内容,运用到的有( :before 和 :after 伪元素、CSS content 属性、data-* H5新属性、js)等技术。...基本原理: 1)首先给box盒子添加 [data-content-before=":before"]和[ data-content-after=":after"]属性; 2)其次添加html标签和style...样式; 3)在样式里添加box元素的:before伪元素和:after 伪元素; 4):before伪元素和:after 伪元素里各自添加content属性; 5)content 和 attr...属性里的值:after(before同理) 6)最后通过js获取到box对象,通过box对象attributes找到添加的 [data-content-before=":before"]和[ data-content-after...background: #39c778; box-shadow: 1px 2px 3px -1px; display: block; } 三、js

11K20

js如何动态选择和操作 CSS 伪元素,例如 ::before 和 ::after

比如伪元素 :before和:after,用于在css渲染中向元素的头部或尾部插入内容,它们不受文档约束,也不影响文档本身,只影响最终样式。...它不存在于文档中,所以js无法直接操作它。而jQuery的选择器都是基于DOM元素的,因此也并不能直接操作伪元素。 哪些是伪元素 :first-letter:向文本的第一个字母添加特殊样式。 ...更改伪元素的样式 1、更换class来实现伪元素属性值的更改: // CSS代码 .red::before { content: "red"; color: red; } .green::before....addClass('green'); 2、使用CSSStyleSheet的insertRule来为伪元素修改样式: // html代码 测试测试 //js...addRule('.className'或‘#ID’ +‘::after’,css样式字符串拼接). 3、在标签中插入 // HTML代码 测试测试 //js

5.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

happens-before原则

在Java中有一个很重要的原则,这个原则是判断线程是否存在数据竞争、线程是否安全的主要依据,这个原则就是happens-before原则。我们首先看一下到底什么是happens-before原则。...简单来说happens-before原则就是JMM中定义的两项操作之间的偏向关系。假如我们有两个操作A和B。...上述就是happens-before原则的定义,下面我们用一个简单的例子来说明一下happens-before原则到底有什么作用。 ?...下面我们假设thread-1和thread-2还具有happens-before关系,也就是说thread-1在thread-2之前执行并且我们假设thread-2和thread-3并没有happens-before...如果代码中的操作没有happens-before原则的话,那么虚拟机在执行的时候,就有可能对它们进行随意的重排序。下面我们看一下在JMM中都有哪些操作是默认具有happens-before原则的。

46530

你会用::before、::after吗 ::before和::after伪元素的用法

::before和::after伪元素的用法 一、介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法。...所以不要用:before或:after展示有实际意义的内容,尽量使用它们显示修饰性内容,例如图标。 举例:网站有些联系电话,希望在它们前加一个icon☎,就可以使用:before伪元素,如下: <!...Note:这些特殊字符的html,js和css的写法是不同的,具体可查看html特殊字符的html,js,css写法汇总。...这个效果实现很有意思,左右通过::before float各自留出一半图片的位置,再把图片绝对定位上去。..., #r:before { content: ""; width: 125px; height: 250px; } #l:before { float: right; } #r:before { float

3.5K10

CSS 巧用 :before和:after

今天主要想在这篇学习笔记中写的也不多,主要是针对:before和:after写一些内容,还有几个小样式略微带过的介绍下。 什么是:before和:after? 该如何使用他们?...:before是css中的一种伪元素,可用于在某个元素之前插入某些内容。 :after是css中的一种伪元素,可用于在某个元素之后插入某些内容。...下面我们先跑个简单的代码测试下效果: p:before{ content: "H" /*:before和:after必带技能,重要性为满5颗星*/...我们通过浏览器的”审查元素”看到的内容是: ::before "ello Worl" ::after p标签内部的内容的前面会被插入一个:before伪元素,该伪元素内包含的内容是...既然笔记主要针对是:before和:after,那么肯定不会只是仅仅有以上的简单介绍就完事。下面我们看看平常该怎么使用他们。 1.结合border写个对话框的样式。

1.1K30

happens-before那些事儿

happens-before是一些规则,规定了某个线程修改的变量何时对其他线程可见。从JDK 5 开始,JMM就使用happens-before的概念来阐述多线程之间的内存可见性。...happens-before原则定义如下: 如果一个操作happens-before另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。...两个操作之间存在happens-before关系,并不意味着一定要按照happens-before原则制定的顺序来执行。...如果重排序之后的执行结果与按照happens-before关系来执行的结果一致,那么这种重排序并不非法。 happens-before规则: 程序次序规则:一段代码在单线程中执行的结果是有序的。...传递规则:体现了happens-before原则具有传递性,即A happens-before B , B happens-before C,那么A happens-before C。

43610

golang happens before内存模型

还有一点是,在每门语言中,无论你使用那种方式获得,happens-before关系都是可传递的:如果A happens-before B,同时B happens-before C,那么A happens-before...happens-before并不是指时序关系,并不是说A happens-before B就表示操作A在操作B之前发生。它就是一个术语,就像光年不是时间单位一样。...A happens-before B并不意味着A在B之前发生。 A在B之前发生并不意味着A happens-before B。...golang happen before 的保证 1) 单线程 在单一goroutine 中Happens Before所要表达的顺序就是程序执行的顺序,happens before原则指出在单一...(2) happens-before (4) happens-before (5) 6) Once once.Do中执行的操作,Happens Before 任何一个once.Do调用的返回。

41210

:before,:after伪元素妙用

伪元素特性(目前已经遇到的) 它不存在于文档中,所以js无法操作它 它属于主元素本身,有些伪类仅仅是代表元素内容的一部分,譬如:first-letter代表第一个字母;因此当伪元素被点击的时候触发的是主元素的...,伪元素前应该使用两个冒号,即:hover伪类,::before伪元素。...可以有两种动态方案: 用js动态修改主元素的属性值,这个很直观 修改伪元素content关联的属性 下面看一个例子: //html: //<a class="datepicker__link z-today...预先把每个单元用到的月份信息和星期信息放到主元素的data属性上面(缓存的思想),选中的时候一般都是要添加一个选中态样式,这时,除了基本的凸显性样式外,同时切换伪元素关联的data属性即可轻松地解决这个问题,而不用通过<em>js</em>...结合伪元素的特点,利用它们的灵活性,可以为我们提供更多的特性,下面总结一下目前想到的伪元素的优缺点: 优点/用途 减少dom节点数 让css帮助解决一部分<em>js</em>问题,让问题变得简单 缺点 不利于SEO 代码读起来

1K40

关于:before和::before的区别 至 伪类和伪元素的区别

::before 是一个伪类元素,代表生成的内容元素,表示相应元素的可抽象样式的第一个子元素,即:所选元素的第一个子元素 利用::before可以把需插入的内容插入到元素的其他内容之前,并且默认内联显示...::before需要使用content属性来指定内容的值。 区别: 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。...不过浏览器需要同时支持旧的已经存 在的伪元素写法,比如:first-line、:first-letter、:before、:after等,而新的在CSS3中引入的伪元素则不允许再支持旧的单冒号的写法。...那么现在就可以完整的回答标题中的问题了,对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。...伪元素种类 伪元素 作用 ::first-letter 将样式添加到文本的首字母 ::first-line 将样式添加到文本的首行 ::before 在某元素之前插入内容 ::after 在某元素之后插入内容

1.4K21

:before,:after伪元素妙用

伪元素特性(目前已经遇到的) 它不存在于文档中,所以js无法操作它 它属于主元素本身,有些伪类仅仅是代表元素内容的一部分,譬如:first-letter代表第一个字母;因此当伪元素被点击的时候触发的是主元素的...,伪元素前应该使用两个冒号,即:hover伪类,::before伪元素。...可以有两种动态方案: 用js动态修改主元素的属性值,这个很直观 修改伪元素content关联的属性 下面看一个例子: //html: //<a class="datepicker__link z-today...预先把每个单元用到的月份信息和星期信息放到主元素的data属性上面(缓存的思想),选中的时候一般都是要添加一个选中态样式,这时,除了基本的凸显性样式外,同时切换伪元素关联的data属性即可轻松地解决这个问题,而不用通过<em>js</em>...结合伪元素的特点,利用它们的灵活性,可以为我们提供更多的特性,下面总结一下目前想到的伪元素的优缺点: 优点/用途 减少dom节点数 让css帮助解决一部分<em>js</em>问题,让问题变得简单 缺点 不利于SEO 代码读起来

1.6K100
领券