有这样一段html
结构:
<div id="app">
<div class="header"></div>
<div class="body">
<div class="dialog"></div>
</div>
<div class="dialog"></div>
<div class="dialog"></div>
<div class="foot"></div>
</div>
如何通过css
选择器直接选取到最后一个class
属性为dialog
的元素?
方式一:
#app .dialog:nth-child(3)
但是感觉这个方法不太灵活,毕竟是获取的#app
元素下所有的.dialog
元素,然后通过nth-child
再去拿到对应的元素。如果#app
里面的子节点,孙节点等都含有这个dialog
元素的话,那么必须要对页面结构非常的熟悉才能通过nth-child
这个伪类去获取元素。
方式二:
我在想把子元素的范围缩小:
#app > .dialog
在#app
元素的子元素中去找,这样就不用考虑一些非dialog
元素里面包含dialog
元素的情况。接下来我试着继续用伪类去准确定位需要寻找的元素:
#app > .dialog:nth-of-type(2)
但是通过这种方式却找不到对应的元素。