使用javascript“;这";对于jquery选择器

使用javascript“;这";对于jquery选择器,javascript,jquery,Javascript,Jquery,在这段代码中,我们可以通过两种不同的方式获得元素id的值,并且双向返回resultat $("#my_div").on("click", function () { alert( $(this).attr("id") ); alert( this.id ); }); 但我很感兴趣,第二种方式,在这种情况下合适吗?我这样问是因为在我们使用jquery选择器的代码中,对于jquery选择器,编写清晰的javascript:这是合理的,它会一直工作吗?或者最好使用jquery$(t

在这段代码中,我们可以通过两种不同的方式获得元素id的值,并且双向返回resultat

$("#my_div").on("click", function () {
    alert( $(this).attr("id") );

    alert( this.id );
});

但我很感兴趣,第二种方式,在这种情况下合适吗?我这样问是因为在我们使用jquery选择器的代码中,对于jquery选择器,编写清晰的javascript:这是合理的,它会一直工作吗?或者最好使用jquery$(this)作为jquery选择器?还是没有差异?

此.id
将为您提供内部DOM元素属性,而
$(此).attr(“id”)
将返回“id”属性的值


jQuery中
this.id
的替代方法是使用方法:
$(this.prop(“id”)
。但是,使用纯
this.id
构造将更容易、更快。

this.id
将为您提供内部DOM元素属性,而
$(this.attr(“id”)
将返回“id”属性的值


jQuery中
this.id
的替代方法是使用方法:
$(this.prop(“id”)
。但是,使用纯
这个.id
构造将更容易、更快。

是的,您的第二种方法是正确的

$("#my_div").on("click", function () {
    // this is available within this function
    alert( this.id );
});
引用函数中的
htmldomeElement
,将
包装在
$()
中将为您提供一个jQuery对象

如果在
处理程序中定义了另一个函数,请单击
处理程序。例:

$("#my_div").on("click", function () {
    // keep reference of this
    var that = this;
    function test() {
     // this will not available here directly
     // instead of that you can use reference
     alert(that.id);
    }
});

$(this).attr('id')
this.id
$(this).prop('id')
将给出相同的结果。

是的,您的第二种方法是正确的

$("#my_div").on("click", function () {
    // this is available within this function
    alert( this.id );
});
引用函数中的
htmldomeElement
,将
包装在
$()
中将为您提供一个jQuery对象

如果在
处理程序中定义了另一个函数,请单击
处理程序。例:

$("#my_div").on("click", function () {
    // keep reference of this
    var that = this;
    function test() {
     // this will not available here directly
     // instead of that you can use reference
     alert(that.id);
    }
});

$(this).attr('id')
this.id
$(this).prop('id')
将给出相同的结果。

主jQuery构造函数可以接受许多不同类型的参数

在这种上下文中,
这个
不是选择器,它是一个HTMLElementNode(jQuery称之为元素)

这是非常好的

如果您只想获取jQuery对象的ID,则无需花费资源将元素包装到jQuery对象中。在这方面,浏览器之间没有任何兼容性问题


获取HTMLElementNode的
id
属性需要更少的代码,比在jQuery中包装整个内容更快。

主jQuery构造函数可以接受许多不同类型的参数

在这种上下文中,
这个
不是选择器,它是一个HTMLElementNode(jQuery称之为元素)

这是非常好的

如果您只想获取jQuery对象的ID,则无需花费资源将元素包装到jQuery对象中。在这方面,浏览器之间没有任何兼容性问题


获取HTMLElementNode的
id
属性需要更少的代码,比在jQuery中包装整个内容更快。

选择最佳方法并不总是很清楚

在这种情况下,您需要
this.id
,因为另一种解决方案需要更多的幕后调用(对
jQuery
attr
的明显调用)


如果您需要与浏览器不同的更多信息,您需要jQuery方式。

选择最佳方法并不总是清晰的

在这种情况下,您需要
this.id
,因为另一种解决方案需要更多的幕后调用(对
jQuery
attr
的明显调用)


如果您需要与浏览器不同的更多信息,您需要jQuery方式。

第二种方式更好,不需要创建不必要的jQuery对象来获取id。@undefined,除非您计划将jQuery对象保存到变量,例如
var x=$(this)并在以后用于纯JS无法(轻松)访问的内容。第二个更好,不需要创建不必要的jQuery对象来获取id。@undefined,除非您计划将jQuery对象保存到变量,例如
var x=$(this)并在以后用于纯JS无法(轻松)访问的内容。