Javascript 对象不会给出元素的属性
给定一个存储li元素的对象,我想找到它们的ID:Javascript 对象不会给出元素的属性,javascript,jquery,Javascript,Jquery,给定一个存储li元素的对象,我想找到它们的ID: $($selected).each(function(){ console.log($selected.attr('id')); $(this).fadeOut(function(){ $(this).appendTo($list).removeClass("ui-state-highlight").fadeIn(); }); });
$($selected).each(function(){
console.log($selected.attr('id'));
$(this).fadeOut(function(){
$(this).appendTo($list).removeClass("ui-state-highlight").fadeIn();
});
});
}
这只是给我第一次机会。为什么? 这是因为您正在$selected对象上调用attr方法,而attr只返回jQuery集合中第一个选定元素的ID,所以您应该在每个回调中使用this.ID或$this.prop'ID'
$selected.each(function(index, element) {
console.log(this.id);
// ...
})
这是因为您正在$selected对象上调用attr方法,而attr只返回jQuery集合中第一个选定元素的ID,所以您应该在每个回调中使用this.ID或$this.prop'ID'
$selected.each(function(index, element) {
console.log(this.id);
// ...
})
您正在获取原始$selected对象的'id'属性,而不是由.each迭代的单个项,这些项将作为以下内容提供给回调。所以您需要console.log$this.attr'id'
正如其他人所指出的,您还可以进行一些其他调整,但这是您的主要错误。您正在获取原始$selected对象的“id”属性,而不是由迭代的单个项。每个项都将作为以下内容提供给回调。所以您需要console.log$this.attr'id'
正如其他人所指出的,您还可以做一些其他调整,但这是您的主要错误。这是一个附带的问题,但看起来$selected已经是一个jQuery对象,所以您不需要说$$selected-$selected.each。。。但是$selected包含值,并且不是所有值都相同,所以当我需要删除类时,我需要循环遍历每个值,不是吗?我想你误解了;是的,您需要循环,使用.each;那部分很好。但是$variable只是将变量包装为jQuery对象;若变量已经是jQuery对象,那个么它什么也不做。因此,您可以编写$$$selected.each。。。它仍然与$selected相同。每个。。。罗杰明白了,学到了一些东西。谢谢。这是一个附带的问题,但是看起来$selected已经是一个jQuery对象了,所以你不需要说$$selected-$selected.each。。。但是$selected包含值,并且不是所有值都相同,所以当我需要删除类时,我需要循环遍历每个值,不是吗?我想你误解了;是的,您需要循环,使用.each;那部分很好。但是$variable只是将变量包装为jQuery对象;若变量已经是jQuery对象,那个么它什么也不做。因此,您可以编写$$$selected.each。。。它仍然与$selected相同。每个。。。罗杰明白了,学到了一些东西。谢谢你。这让我热泪盈眶!谢谢你为了这个刺伤了我自己两个小时让我热泪盈眶!谢谢..我为此刺伤了自己两个小时。。