我可以使用Jquery插入一个结束</tr>标签和开口<tr>标记在动态表中
Can I use Jquery to insert a closing </tr> tag and an opening <tr> tag inside a dynamic table?
我试图使用下面的代码动态添加结束标记,然后再添加打开标记,这样我就可以每三个单元格创建一个新行。几乎可以工作了,DOM检查器显示了一个TR节点,问题是,发生了一些事情,TR没有关闭TR标记。我是Jquery的新手,这个代码有什么问题吗?
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('td:nth-child(3n)').after('</tr><tr>');
});
</script>
<table id="mytable" width="266" border="1" cellspacing="10" cellpadding="10">
<tbody>
<tr>
<?php
function somelongassfunction(){
return 'Hello';
}
function have_products($a){
return $a<=20;
}
$x=0;
while (have_products($x)) {
echo '<td>' . somelongassfunction() . '</td>';
$x++;
//-------------------------------------
/*if (fmod($x,3) == 0) {
echo '</tr><tr>';
continue;
}*/
//--------------------------------------
if ($x==20){
break;
}
}
?>
</tr>
</tbody>
</table>
您不能像处理HTML文档那样处理DOM选择。DOM文档是节点的层次结构,而不是标记的层次结构。浏览器会将HTML中的标签解析为DOM文档。然后,您不能添加一位HTML,然后期望它被解析回DOM结构。
相反,您需要在jQuery中进行包装。这是一种可行的方法——可能不是最有效的方法。
$('td').each(function(idx) {
if (idx % 3) {
return;
} else {
$(this).nextAll(':lt(2)').andSelf().wrapAll('<tr/>');
}
}).parent().unwrap();
jsFiddle
另一种方法是detach
所有td
元素,然后使用splice
:将它们分成3组
var td = $('tr td').detach();
$('tr').remove();
while(td.length>0){
$(td.splice(0,3)).wrapAll('<tr />').parent().appendTo('tbody');
}
示例:http://jsfiddle.net/niklasvh/C6unV/
正如loneomeday所说,您不能将DOM视为HTML。此外,TR关闭标记是可选的,因此当您插入带有打开TR的标记时,浏览器会关闭它。您不需要关闭标记。
相关文章:
- 正在检测导航到<a name=“;最新主题”></a>
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在<script src=“"></脚本>标签
- 等效于<script src=“;something1.json”></脚本>
- CSS/.JS问题,<ul><李>在Megamenu中
- 如何在<td></td>在Procractor中
- 显示“<script src='some.js'></脚本>"在Html文档中
- 如何将Array转换为<ul><李>以字母为标题的字母列表
- <script src=“//代码.jquery.com/jquery-1.11.1.min.js”></
- 选择<脚本></脚本>作为html正文中的纯文本
- 可折叠<UL><李>不起作用
- $.mobile.loadPage()和$(“linkBtn”).click();t负载<头部></头部&
- <脚本/>vs<脚本></脚本>webpack和angular
- Javascript/RRails-如何包装link_to而不是<a></a>在javascript
- jQuery在处理<选择><选项>
- 布局lt md已被弃用.请使用`layout gt-<xxx>`变种
- 在<%%中定义的访问变量>从<脚本></脚本>
- 页面设计<a href><按钮><输入>在JSP中
- 注入html标记<ul></ul>在我的<李></李>元素
- jQuery选择器<按钮></按钮>