如果一个标签元素同时出现两个class属性,两个class都会生效吗?为什么?

如果一个标签元素同时出现两个class属性,两个class都会生效吗?为什么?,第1张

如果一个标签元素同时出现两个class属性,两个class都会生效吗?为什么?

亲测,第一个生效

老哥可以把你的测试代码发上来嘛,想看看为什么

大概是这样的吧

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>document</title>    <style>        .haha { color: blueviolet; width: 100px;        }        .hehe { color: brown; height: 100px;        }    </style></head><body>    <div  >111</div></body></html>

只有haha生效了,hehe没生效

同学,看了下你的代码,实际上多个class类的写法不是这样写的
正确的写法应该为

<div >111</div>

具体为什么是这样写,是因为DOM节点的Attribute属性从来就不是一个数组,而是一个字符串
参考一下document.getElementsByTagName('div')得到的是一个数组,需要加上数组下标才可以正常使用
而document.getElementsByTagName('div')[0].getAttribute('class')获取该DOM节点的class属性为haha
后一个属性使用非法声明,所以报错了。
我们来从调试模式中看内部结构,如下两张图示意

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5083540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存