我在使用jQuery选择元素时遇到了一些问题。
我的HTML代码归结为:
<body>
<p>Dont mind me, sir</p>
<p>Select me please!</p>
<p class="fabulous">So fab</p>
</body>
使用一些jQuery:
$(document).ready(function(){
$('p:not(.fabulous):last-child').css({'background':'yellow'});
});
使用选择器$('p:not(.fabulous):last-child')
我试图选择其父级的最后一个元素(在本例中为body),它没有“fabulous”类。使用$('p:not(.fabulous)')
我选择body
的所有非神话般的孩子,但为什么我不能选择剩余的p
元素的最后一个孩子?我非常感谢关于:last-child
和:not(
的行为的回答,或者我误解的任何选择。
谢谢!
答案 0 :(得分:1)
尝试使用$('p:not(.fabulous):last').css({'background-color':'yellow'});
或$('p:not(.fabulous)').last().css({'background-color':'yellow'});
答案 1 :(得分:1)
:last-child
选择父的最后一个孩子的所有元素。 <p>
的最后一个(<body>
)子项为<p class="fabulous">
。
因此,当您执行p:not(.fabulous):last-child
时,您要求<p>
其父的最后一个孩子并且有班级fabulous
。没有这样的元素。
在这种情况下,您需要使用$('p:not(.fabulous):last')
。