如何用js控制css伪类after

JavaScript022

如何用js控制css伪类after,第1张

用js控制css伪类after:只能通过添加样式,然后通过这个样式的伪类来控制吧。。没法直接改。

比如:

html:

<p>瓦赫塔 阿热 有 doing</p>

css:

p:after{

content:''

position:absolute

background-color:green

width:20px

height:6px

}

js:

var css=function(t,s){

s=document.createElement('style')

s.innerText=t

document.body.appendChlild(s)

}

document.onclick=function(){

css('p:after{background-color:red}')

}

JS获取textarea中的内容 用document.getElementById(v).value 就可以的。

比如:

<textarea id="abc" name="t" cols="72" rows="12">123456</textarea>

<script>

var x=document.getElementById("abc").value/这个x的值就是获取到的内容

alert(x)

</script>

补充:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

<!DOCTYPE html>

<title>CSS</title>

<style>

body {

font: 200%/1.45 charter

}

ref::before {

content: '\00A7'

letter-spacing: .1em

}

</style>

<article>The seller can, under Business Law <ref>1782</ref>, offer a full refund to buyers. </article>

<script>

function ruleSelector(selector) {

function uni(selector) {

return selector.replace(/::/g, ':')

}

return Array.prototype.filter.call(Array.prototype.concat.apply([], Array.prototype.map.call(document.styleSheets, function(x) {

return Array.prototype.slice.call(x.cssRules)

})), function(x) {

return uni(x.selectorText) === uni(selector)

})

}

var toggle = false,

pseudo = ruleSelector("ref::before").slice(-1)

document.querySelector("article").onclick = function() {

pseudo.forEach(function(rule) {

if (toggle = !toggle)

rule.style.color = "red"

else

rule.style.color = "black"

})

}

</script>