1、问题表述
在我们动态生成的页面内容时,我们会在真正的内容外套一层容易控制的标签,但是如果要以这个标签作为依据获取其下的所有值,可能会因为不经意间多加了几层,在后面的取值便会出现与预期不同的结果。
2、问题事例
例如我们要在下面的表格内容中添加真正的数据
<table width="300" id="content">
<tr>
<th>机构</th>
<th style="display:none"></th>
<th>名称</th>
<th>集合类型</th>
</tr>
</table>
3、在dom解析中,table的下一级标签默认是tbody,所以为了方便,我们会在动态生成的内容加入tbody标签,这样在解析中就可以使用tbody作为一个参考点取出下面节点的所有内容。
4、如果在你不小心在生成行的时候都创建了一个tbody,那么在取值是会遇到取值缺失的情况。
5、我的解决办法:
在我们开始操作的时候初始化一个tbody给table,然后每次只在这个tbody中添加节点。如果再次执行操作时根据开关来判断是否再次添加tbody。
比如我们的初始化操作为
//_tbody是全局的tbody变量 //bl是控制开关 var _tbody,bl=true function init(id){ |
这样在下面的操作我们就有了一个tbody,操作就方便了!!在下面的添加 tr 时就针对_tbody对象了!