Jquery this和$(this)的区别

JQuery中的  $()  这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象。那么,当你在网页中alert($('#id'));时,会弹出一个[object Object ],这个object对象,也就是jquery对象。

那$(this)是什么呢?

看下面的示例:

<input type="submit" class="btn btn-success" value="提交">
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
<script>

    $(document).ready(function () {
        var btn = $(".btn")[0];
       btn.onclick =function() {
           console.log($(this));
           console.log(this);
       }
    })
</script>

点击提交按钮,得到结果如下:

k.fn.init [input.btn.btn-success]
<input type="submit" class="btn btn-success" value="提交">

可以看到前者是一个jq对象,后者则是动作的接受者元素本身。

那么要怎么找到当前操作对象的子对象,并对它进行操作呢?

我们假设想完成如下操作:

当我点击按钮时,将它里面的a标签隐藏起来:那么首先我们要得到当前操作的按键对象,这可以通过$(this)得到,那怎么找到它的子对象呢?

<script>

    $(document).ready(function () {
        var btn = $(".btn")[0];
       btn.onclick =function() {
           console.log($(this));
           console.log(this);
           $(this).find("a").addclass('hidden')
       }
    })
</script>

一种方式是在$(this)的基础上使用find()方法,去找这个子元素,然后对它进行操作。

上一篇:Python 开发

下一篇:Django contenttype 组件使用 及源码分析