与$(“li”)和“li”使用它有什么区别?
$("ul").on("click", $("li"),function(e) {
e.preventDefault();
$("ul").append( "<li><a href='#'>Item</a></li>");
});
答案 0 :(得分:2)
如果您编写$("ul").on("click", "li", function(e) {
,则只要调用li
中的ul
元素,就会调用回调。如果您点击示例中的ol
,则只有在li
点击时才会添加任何内容:
$("ul").on("click", "li", function(e) {
e.preventDefault();
$("ul").append("<li>Item</li>");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>li</li>
<ol>ol</ol>
</ul>
&#13;
编写$("ul").on("click", $("li"), function(e) {
将省略过滤器,因为它不是字符串(而$("li")
则用于event.data
),因此对于您的代码,它与写$("ul").on("click", function(e) {
基本相同。 1}}。对于此示例,将添加元素以用于ul
或其下降的任何点击:
$("ul").on("click", $("li"), function(e) {
e.preventDefault();
$("ul").append("<li>Item</li>");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>li</li>
<ol>ol</ol>
</ul>
&#13;