$.each()循环中,有一种具体情况我不明白为什么会失败。

当我执行一条if语句时,表示类似这样的内容(我的具体示例,仅不包含真实属性名称)

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


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

但是,如果我首先获取该元素的ID,然后检查没有“ this”关键字的属性,则可以正常工作。

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


这可以正常工作,并且确实返回正确的值。

最佳答案

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

$('#id')是否查询DOM。

我建议您阅读my answer here

关于jquery - $(this)和$(“#id”)有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12906276/

10-09 15:24
查看更多