是jquery $(this)。 与$相同吗?

这个问题在这里已经有了答案:

  • 为什么JavaScript变量会以美元符号开头? 16个答案
  • 何时/为什么在使用jQuery时为变量添加前缀“$”? [重复] 5个答案

  • 这是一个非常典型的约定,开发人员会在变量名前添加$以表明它是一个jQuery对象,并且可以访问所有典型的jQuery方法。 它不是选择器。


    在你的例子中你有这样的: var $parent = $(this).parent(); 。 这是对DOM对象的引用,一旦你保存了它,你可以多次使用它:

    你可以这样做:

    $(this).parent().css('color', 'green');
    $(this).parent().css('border', '1px solid pink');
    $(this).parent().css('background', 'purple');
    

    在这个例子中,jQuery将选择$(this)对象,然后选择其父项

    你也可以这样做:

    var $parent = $(this).parent();
    $parent.css('color', 'green');
    $parent.css('border', '1px solid pink');
    $parent.css('background', 'purple');
    

    你已经保存了父对象的引用,并且让jQuery只查看一次。
    *小旁注:css方法可以做得更好,我这样做是为了演示目的*


    $parent是一个变量名称。 它与jQuery库无关。

    许多开发人员使用$前缀作为变量来将它们标识为jQuery集合。

    例如,虚线函数(即$.post$.each )仅仅表示它们是jQuery库的一部分(并且我急于添加这不是如何写jQuery的):

    var $ = {
        post: function() {  },
        each: function() {  }
    }
    

    在上面的例子中,我们现在可以分别访问$.post()$.each()这两个函数。

    当您使用$(this) ,您将获取当前的HTML对象,并生成一个jQuery对象,以便您可以使用jQuery带入表中的附加函数。 例如:

    this.style.color = '#000';
    

    与做类似的事情相同:

    $(this).css('color', '#000');
    

    变量之前的$就是一个约定。 很多人用它来描述一个jQuery对象的变量。 它实际上并没有做任何特别的事情。 如果你愿意,你可以用它为你的所有javascript变量加上前缀(不知道你为什么会这样做,但它是有效的)。

    这与许多开发者用来表示变量/方法应该是私有的( _privateVar )相似。

    链接地址: http://www.djcxy.com/p/94959.html

    上一篇: Is jquery $(this). the same as $?

    下一篇: Why is "$" a valid function identifier?