Jquery 将元素动态附加到另一个动态元素
我想将变量Jquery 将元素动态附加到另一个动态元素,jquery,arrays,json,object,append,Jquery,Arrays,Json,Object,Append,我想将变量img附加到figure元素。所有内容都是从JSON文件动态加载的。除了必须将元素附加到现有的$wrap for (i = 0; i < arr.length; i++) { var url = arr[i].url, img = $('<img src="'+ url +'">').load(function(){ var imgW = this.width, imgH = this.height;
img
附加到figure
元素。所有内容都是从JSON文件动态加载的。除了必须将元素附加到现有的$wrap
for (i = 0; i < arr.length; i++) {
var url = arr[i].url,
img = $('<img src="'+ url +'">').load(function(){
var imgW = this.width,
imgH = this.height;
img.attr({
width: imgW,
height: imgH
});
});
$wrap.append( '<figure>' + img + '</figure>' );
}
for(i=0;i
当我执行$wrap.append(img)时代码>一切都按照我的预期进行。元素被附加到$wrap
。问题是,我不必将它们附加到$wrap
中,但它们中的每一个(根据数组长度)都必须附加到其适当的
标记中,因此当我执行此代码时:$wrap.append('+img+'')
这是我想要的,输出是:[object object]
有什么建议吗?
如何将动态创建的元素附加到其他动态创建的元素
你可以找到代码
和试试看:
$wrap.append($('<figure/>').append(img));
$wrap.append($('').append(img));
'+img+'
是string+Object+string
。Js将以字符串的形式返回结果,这意味着它将调用.toString()
函数将非字符串的每个变量转换为字符串img
是一个jQuery对象,而不是字符串,因此将调用img.toString()
,其结果是[object object]
这起作用,但属性不会显示。我需要img标签带有我之前添加的高度和宽度属性。@user2153436这很有效!你的代码工作得很好,谢谢。我可以问你为什么属性只显示在最后一个img标签中吗?