div后引用js文件对此div的css选择器有什么影响

html
2.css
.chart{
position:relative;
box-sizing:border-box;
width:calc(50%-5px);
padding:20px10px;
border:1pxsolid#ddd;
margin-right:10px;
}
.chart:last-child{
margin-right:0
}
我在一个.chart这两个div后引了js后,.chart:last-child{margin-right:0}就不生效了(js是一个echart的图表配置文件,并未有其他的样式操作)请问这是为什么?直接在div后插入这样的js会破坏dom结构么?选了不了last-child了?感谢各位的解答,谢谢~
SMILET
浏览 440回答 2
2回答

繁华开满天机

因为script变成了lastchild了啊==因为script也是一个元素,会使得原来是last-child的div失去last-child的地位

函数式编程

.chart:last-child选择器的意思是选择class包含chart的元素并且这个元素是父元素的最后一个元素;script也是html的元素,所以添加script元素之后,div的最后一个元素变成了script元素,所以.chart:last-child并不能匹配到任何元素,所以这条CSS就失效了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript