在$.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/