$(this)和$(“#id”)之间有什么区别?

时间:2012-10-16 01:19:36

标签: jquery selector this each

$.each()循环中,有一个特定的案例,我不明白为什么会失败。

当我做一个if语句时会说出这样的话(我的具体例子,只有没有真正的属性名称)

if(($(this).attr("some-attribute")))

无论属性是否存在,它总是返回false。

但是,如果我首先获取此元素的id,然后检查没有“this”关键字的属性,它就可以了。

var id = $(this).attr("id");
if(($("#"+id).attr("some-attribute")))

这工作正常,它确实返回正确的值。

1 个答案:

答案 0 :(得分:6)

$(this)不查询DOM,它只是用jQuery对象包装javascript DOM元素。

$('#id')查询DOM。

我建议你阅读my answer here