添加<;t车身>;通过jquery冗余<;br>;
我使用jquery创建了一个表:添加<;t车身>;通过jquery冗余<;br>;,jquery,Jquery,我使用jquery创建了一个表: <div class="productlist" style="float:left;" id="productlist"> <script type="text/javascript" language="javascript"> function loadMore() { var $parent = $("#productlist").empty(); $parent.append('<t
<div class="productlist" style="float:left;" id="productlist">
<script type="text/javascript" language="javascript">
function loadMore() {
var $parent = $("#productlist").empty();
$parent.append('<table id="myTable" cellpadding="0" cellspacing="0" width="100%" class="productlist" style="margin-left:4px; padding-top:2px;"><tbody>');
var $table = $parent.find("#myTable > tbody");
var htmlRow = [
'<tr align="center">',
'<td align="center" id="colunm-product">',
'<br />',
'<div id="brand-item"><a href="#" class="brand_id"><img src="' + value.BrandImage + '" width = "85px"/></a></div>',
'<div id="product_image"><a href="'+'<%: Url.Content("~/") %>' +'Products/ProductSpec/' + value.ID +'?dep='+ value.DepartmentID +'&cat='+value.CategoryID+'&tab=2" style="text-decoration:none"><img src="' + value.PictureName + '" alt="Product" width="135px"/></a></div>',
'</td>',
'</tr>'
];
$table.append(htmlRow.join(''));
$("#myTable > tbody").append('</tbody></table>');
}
</script>
函数loadMore(){
var$parent=$(“#产品列表”).empty();
$parent.append(“”);
var$table=$parent.find(#myTable>tbody);
var htmlRow=[
'',
'',
“
”,
'',
'',
'',
''
];
$table.append(htmlRow.join(“”));
$(“#myTable>tbody”)。追加(“”);
}
我调用document.ready中的函数。但在我看来,结果出乎意料:
<table id="myTable" cellpadding="0" cellspacing="0" width="100%" class="productlist" style="margin-left:4px; padding-top:2px;">
<tbody>
<br/><br/>
<tr> my data </tr>
</tbody></table>
我的数据
我不知道为什么表中有
。如何避免这个问题
谢谢。您试图像在文本编辑器中编写html一样插入DOM,这是错误的方法。插入的任何元素都是完整的元素,并且已“关闭”。您不能插入表的开始html,添加一些行,然后添加结束标记…就像您编写它一样 以jQuery为例插入空表时,有几种方法可以写入标记:
$('<table>')
$('<table/>')
$('<table></table>') // skipping over tbody issues for now
$(“”)
$('')
$('')//现在跳过tbody问题
所有三个生产相同的东西。。。一个完整的表DOM节点。这个表已经被关闭了,因为我们认为它带有html标签,对于IE,可能还有其他浏览器,它也有一个tbody。可以将其视为html的顶部和底部都已就位
现在,当我们附加内部元素时,它们也需要是完整的
表示例是一个单个标记,一次插入多个标记需要有效的封闭html,正如我们在编辑器中所知道的那样
$('')不起作用,在这种情况下,两个标记都需要按正确的顺序关闭。类似地,我们不会像您所尝试的那样,在添加一个行数之后,尝试为tbody和table添加结束标记
我相信这会让你更好地理解如何调整你的代码,使之不至于支离破碎
在您尝试插入片段代码时,会产生不必要的beahvior,甚至可能会被拒绝我认为您不打算使用不平衡的html片段调用
.append()
。我不确定这是否与您的问题有关,但我会首先一次性添加完整的空表,然后添加行代码>,这是对的吗?但在我看来,一切都没有改变。页面中现有的html有效吗?尝试在块元素之前删除
,无需这样做。也不需要清空$parent,可以使用$parent.html()