概述:
在下面的代码中,我应该突出显示最后一个id =“sample”的html元素,即“This is the last paragraph”。但是,“这是第一段”会突出显示。
问题:
1)为什么$(“#sample:last”)。css(“background-color”,“yellow”)没有突出显示最后一段?
2)当我改为$(“p#sample:last”)。css(“background-color”,“yellow”)时,最后一段突出显示。为什么这样做而不是问题1的情景?
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#sample:last").css("background-color", "yellow");
});
</script>
</head>
<body>
<p id="sample">This is the first paragraph.</p>
<p id="sample">This is the second paragraph.</p>
<p id="sample">This is the last paragraph.</p>
</body>
</html>
答案 0 :(得分:4)
问题在于您使用的是id而不是类。您只能使用一次ID。正确的做法是给他们所有相同的类,并使用类{/ 1}}与e.currentTarget
结合使用。
clickButton.addEventListener("click", (e) => {
e.currentTarget.classList.toggle("modified");
}, false);
答案 1 :(得分:2)
因为你使用了重复的ID。有效标记剂量不允许重复ID。 Id在单个DOM结构中应该是唯一的,这就是为什么没有:最后一个伪类可用于ID选择器的原因。在这种情况下,您应该使用class而不是ID。