【发布时间】:2017-04-16 22:00:27
【问题描述】:
我有一个基本的待办事项列表,通过它我可以单击 li 元素来打开和关闭 .completed css 类。此外,当我点击 li 内的 span 覆盖的 X 时,我可以删除 li >。一切正常,但我的 IDE 告诉我我有一个 重复的 jQuery 选择器,即 $("ul")。如何更高效地编写这个 jQuery?
// check off specific todo by clicking
$("ul").on("click", "li", function () {
$(this).toggleClass("completed");
});
// click on X to delete todo
$("ul").on("click", "span", function (event) {
// remove li
$(this).parent().fadeOut(500, function () {
$(this).remove();
});
// prevent event from affecting parents element
event.stopPropagation();
});
ul {
list-style: none;
}
.completed {
color: grey;
text-decoration: line-through;
}
#container {
width: 100px;
margin: 0 auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<ul>
<li><span>X</span> Code</li>
<li><span>X</span> Sleep</li>
<li><span>X</span> Eat</li>
<li><span>X</span> Run</li>
<li><span>X</span> Jump</li>
</ul>
</div>
【问题讨论】:
-
$("ul").on().on()
标签: javascript jquery html css optimization