JQuery(可能是javascript)澄清

JQuery(可能是javascript)澄清,javascript,jquery,Javascript,Jquery,我尝试将样式添加到动态创建的元素中,并找到了 -----编辑:添加更多代码----- 这个(分成两行): 为什么第一个有效而第二个无效 谢谢:)。比方说,guiPatch包含一些HTML,例如ABC 现在,您的第一个代码将如下所示: $('<div>ABC</div>').appendTo($(".container")).css("color","yellow") 第一行是在.container中添加一个ABC对象。好的但是第二行还创建了另一个ABC对象并将其传递给.

我尝试将样式添加到动态创建的元素中,并找到了

-----编辑:添加更多代码-----

这个(分成两行):

为什么第一个有效而第二个无效


谢谢:)。

比方说,
guiPatch
包含一些HTML,例如
ABC
现在,您的第一个代码将如下所示:

$('<div>ABC</div>').appendTo($(".container")).css("color","yellow")
第一行是在
.container
中添加一个
ABC
对象。好的但是第二行还创建了另一个
ABC
对象并将其传递给.css()函数,该函数正在执行它的工作,即应用样式并返回一个对象
ABC
。但是我们无法看到更改,因为我们没有将这个新的
ABC
附加/添加到DOM中的任何位置。一旦.css()函数完成其工作,该对象就会丢失

希望现在一切都清楚了

在Chrome开发者工具中尝试一下。复制、粘贴并按enter键输入我分解的每一段/每一步代码,您将能够看到它的运行

多谢各位

编辑/添加: *****代码内部注释的附加说明************

无论jQuery($)返回什么,它都始终是和对象。因此,检查它是否是一个对象是多余的[imo]。您可以通过在Chrome开发控制台中键入这些代码来进行检查

typeof($(''))   // returns object, though empty
并且在任何网页的控制台中键入以下内容:

typeof($('div'))   // also an object, but an array of all the divs in that webpage
如果愿意,也可以直接使用.each,而不是另一个for循环

$('.active').each(function(index){
  $(this) //$(this) will give you an object to work on in each iteration 
})

请注意,如果您发现任何异常,我将更新我的答案。

什么是
样式
值?提示:假设
guiPatch
是一段HTML标记,每次调用
$(guiPatch)
都会创建新的DOM元素<代码>$(guiPatch)[0]!==$(guiPatch)[0]@DCoder-必须是它:)。如果你想-把它作为一个答案,我会把它标记为选中的一个。尽可能清楚:)你也可以参考我的评论(//一定是一个更好的方法来迭代“选中”//而不检查对象是否有属性“id”…有什么建议吗?)谢谢你。编辑了这篇文章。在我看来,所选[radio]=“object”检查的类型是多余的,因为即使$('.active')返回一个对象数组,该数组中的每个元素都绑定为一个对象。如果您发现其他问题,请测试并告诉我。谢谢并欢迎:)@JimmyBoyReplace for loop with.each,因此您可以省略选择的数组访问操作符[radio],直接使用循环中的$(this)使用对象:)玩它,jQuery真的很有趣@jimmyboy关于jQuery始终返回对象的说法可能是对的,但是我检查的不是JQuery的返回值,而是特定位置(选中的[radio])的返回值,这并不总是一个对象:)我现在将尝试。每件事,谢谢,伙计。试着这样想。在for循环中将其命名为“i”,而不是“radio”,因为for(数组中的vari)与for(vari=0;i)相同
$('<div>ABC</div>').appendTo($(".container"));
$('<div>ABC</div>').css("color","yellow");
typeof($(''))   // returns object, though empty
typeof($('div'))   // also an object, but an array of all the divs in that webpage
$('.active').each(function(index){
  $(this) //$(this) will give you an object to work on in each iteration 
})