在循环数组时,我在尝试显示html元素时遇到问题,例如img、ul等。
$.each(data[0], function(i, dataa) {
if(i == 'images') {
$.each(data[0].images, function(x, datab) {
$('.g').append('<tr><td>'+datab.imgid+'</td></tr>');
});
} else if(i == 'desc') {
$('.g').append('<tr><td><label>' + i + ' : </label></td>' + '<td>' + dataa + '</td></tr>');
} else {
$('.g').append('<tr><td><label>' + i + ' : </label></td>' + '<td><input type="text" name="' + i + '" id="' + i + '" value="' + dataa + '" ></td></tr>');
}
});
以下是将图像添加到阵列中:
foreach($_FILES['uploadsell1'][tmp_name] as $key => $value) {
if($_FILES['uploadsell1'][tmp_name][$key] != null) {
$filename = $_FILES['uploadsell1'][name][$key];
$tempname = $_FILES['uploadsell1'][tmp_name][$key];
copy($tempname, 'images/ads/tempads/'.$filename);
$df[]["imgid"] = "<img src='/images/ads/tempads/".$filename."' height='80' width='100' />";
}
}
$row['images'] = $df;
echo '['.json_encode($row).']';
公布在田地里的数据运行良好。只有当html元素被包括在内时,它才会变得一团糟。还有别的办法吗?
我想您要找的是attr()
尝试从修改您的代码
$('.g').append('<tr><td>'+datab.imgid+'</td></tr>');
至
$('.g').append( $('<tr/>').append($('<td/>').append($("<img/>").attr("src", datab.imgid).attr("width",datab.width).attr("height",datab.height))));
在客户端。在服务器端,你需要做一些类似的事情
$df = array ( array("src" => 'images.jpg', 'height' => '80', 'width' => '100') );
这意味着分解标签并详细说明您希望在HTML中为标签提供的所有属性。请注意,如果你做一些类似的事情,你可以很容易地获得一种更通用的方法
$df = array ( array("src" => 'images.jpg', "attrs" => array('height' => '80', 'width' => '100')) );
然后在javascript循环中遍历"attrs"。
您可能需要考虑声明CSS而不是标记属性。然后JavaScript应该调用CCD_ 6而不是CCD_。
但这个想法是,如果你想构建以下HTML
<img src="my_src.jpg" height="100" width="80"/>
那么你的JavaScript应该像这个
$("<img/>").attr("src","my_src.jpg").attr("height","100").attr("width","80")
你可以在我的网站上查看我的跑步示例。
如果我误解了你的问题,或者你认为我的回答有任何问题,请告诉我,我会编辑它。