<html>
<head>
<meta charset="UTF-8" />
<title>HTML5学堂</title>
</head>
<body>
<div id="h5course" class="h5course-cn">学习HTML5,到HTML5学堂-h5course-com</div>
<script src="jquery-1.11.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
var h5course = document.getElementById('h5course')
// 修改类名
h5course.className = 'h5course-com'
</script>
</body>
</html>
以给 body 标签添加 class 为例
通过 jQuery
$( 'body').addClass( 'class1 class2' )
$( 'body' ).removeClass( 'class1 class2' )
支持 classList 的高级浏览器(IE10+,Chrome,Firefox,Safari)
document.body.classList.add( 'class1', 'class2' )
document.body.classList.remove( 'class1', 'class2' )
不支持 classList 的浏览器只能通过 className 来添加
document.body.className += ' cl
var odiv=document.getElementById('div1')
odiv.className= div3
//这样我们会得到 class ="div3" 会直接把div2样式给覆盖掉
[2]使用累加赋值给className
var odiv=document.getElementById('div1')
odiv.className+=" "+div3 //样式和样式之间需要空隙 ,所以加个空字符串隔开
//这样可以得到 class="div2 div3" 可以正常增加,但是我们在添加样式的时候我们得考虑下他本身之前有没有同名的样式,如果有我们添加的话就会变成累赘 比如class="div2 div3 div3"
[3]检测样式原先之前是否有相同的样式
var odiv=document.getElementById('div1')
function hasClass(element,csName){
element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)'))//使用正则检测是否有相同的样式
}
[4]在[3]的基础上我们就可以进行判断性给元素添加样式了
var odiv=document.getElementById('div1')
function hasClass(element,csName){
return element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)'))//使用正则检测是否有相同的样式
}
function addClass(element,csName){
if(!hasClass(element,csName)){
element.className+=' '+csName
其实只需要用到document.querySelector('选择器')和结合classList. add("类名")即可。那么你这里就只要设置以下两步代码即可:
document.querySelector('# room>div'). classList. add(" test")
document.querySelector('# room>div>input'). classList. add(" test2")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)