$(“li”)与“li”的区别

时间:2018-02-01 19:15:10

标签: javascript jquery

与$(“li”)和“li”使用它有什么区别?

    $("ul").on("click", $("li"),function(e) {
        e.preventDefault();
        $("ul").append( "<li><a href='#'>Item</a></li>");
    });

1 个答案:

答案 0 :(得分:2)

如果您编写$("ul").on("click", "li", function(e) {,则只要调用li中的ul元素,就会调用回调。如果您点击示例中的ol,则只有在li点击时才会添加任何内容:

&#13;
&#13;
$("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;
&#13;
&#13;

编写$("ul").on("click", $("li"), function(e) {将省略过滤器,因为它不是字符串(而$("li")则用于event.data),因此对于您的代码,它与写$("ul").on("click", function(e) {基本相同。 1}}。对于此示例,将添加元素以用于ul或其下降的任何点击:

&#13;
&#13;
$("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;
&#13;
&#13;