2013-04-04 41 views
1

我已经创建了一个图像库网格并试图输出图像。我试图将路径放入var thumb ="path";,然后将它连接到json_data,但无法读取图像的路径。有任何想法吗?如何在jQuery中输出图像链接append

function ajaxfunction(json_data){ 
    var path = "images/products/shirts/smallthumbs/"; // path to image 
    var url = "#"; 

    var table = $("<table></table>"); 
    var tr = $("<tr></tr>").appendTo(table); 
    for (var i = 0; i < json_data.length ; i++){ 
     if (i %4==0) 
      tr = $("<tr></tr>").appendTo(table);    
     $(tr).append("<td>"+json_data[i].prod_name+"<br/>"+ 
      " " + "<a href="+url+"><img src="+path+json_data[i].pic"/></a>"+"<br/>"+ //attempting output 
      "\u00A3"+json_data[i].price+"</td>"); 
    } 

    $("#maindisplay").append(table); 
} 
+1

什么不起作用? – Blender 2013-04-04 21:57:38

+0

您是否尝试将链接粘贴到地址栏中,因为它会在生成的html上呈现,以查看图像名称或路径是否有错误? – Nate 2013-04-04 22:00:45

+0

该功能不显示图像。我已经在上面的例子中尝试添加图像的路径。 – chucky 2013-04-04 22:01:30

回答

1

此行$(tr).append("<td>"+json_data[i].prod_name+"<br/>"+ " " + "<a href="+url+"><img src="+path+json_data[i].pic"/></a>"+"<br/>"+ //attempting output "\u00A3"+json_data[i].price+"</td>");

需要用适当的引号将s trings(最好是使用'为JavaScript字符串所以你可以使用"在HTML属性:

$(tr).append('<td>' + json_data[i].prod_name + '<br/>' + 
    ' ' + '<a href="' + url + '"><img src="' + path + json_data[i].pic + '"/></a>' + '<br/>' + //attempting output 
    '\u00A3' + json_data[i].price + '</td>'); 

此外,这是不是很有效,有多次调用.appendTo()。您应该一次生成HMTL元素,而不是多个.append()调用。

+0

感谢sweetamylase。目前这种方法可行,效率会更高吗? – chucky 2013-04-04 22:21:46

+0

@chucky请参阅相关问题:http://stackoverflow.com/questions/5422169/in-jquery-how-to-efficiently-add-lots-of-elements – sweetamylase 2013-04-04 22:28:39

1

括起来src属性的内容(这是你的路径数据)对单引号,所以更换你的下面的代码:

... +"><img src="+path+json_data[i].pic"/></a>"+ ... 

这一个:

... +"><img src='"+path+json_data[i].pic"'/></a>"+ ...