如何在不导致 HTML 表格失真的情况下正确使用追加
How to use append correctly without causing HTML Table distortion
我有一个表,其中包含从MySQL数据库动态加载的链接行。
目前,为了让用户像使用命名锚点一样快速访问每个新字母的开头,我有以下脚本,它在动态创建锚点和 HTML 表的一小部分样本时工作得很好。 您可以从代码中看到,脚本不断将其添加到TD标签的前面,这导致表格失真。 JavaScript 新手,不确定我哪里出错了。 我在网上找到了这个剧本。
总而言之,我希望命名锚点在所有内容的前面的TD标签内部显示。
<script type='text/javascript'>//<![CDATA[
$(function(){
char = "";
$('.myTable').each(function(){
td = $(this);
$(this).child('td#front').each(function(){
x = $(this).text()[0];
if(x!=char){
char = x;
q = $('<div class="lettergroup" />').appendTo(td);
$('<a name="'+char+'" />').appendTo(q);
$('<h2>'+char+'</h2>').appendTo(q);
}
$(this).appendTo(q);
});
});
$('.lettergroup').each(function(lgi){
lg = $(this);
c = $(this).child('td#front');
l = c.length;
h = Math.ceil(l/2);
if(l>1){
lc = $('<div class="lettercolumn" />').prepend(lg);
c.each(function(si){
if(si==h) lc = $('<div class="lettercolumn" />').appendTo(lg);
$(this).prepend(lc);
});
$('<br class="clear" />').appendTo(lg);
}
});
});//]]>
</script>
<table class="myTable">
<tr>
<td>Text</td>
<a class="letterAnchor" name="A"></a><td class="front">A Text</td>
<td>Text</td>
<td>Text</td>
<td>Text</td>
<td>Text</td>
<td>Text</td>
<td>Text</td>
<td>Text</td>
<td>Text</td>
</tr>
</table>
我需要的选项是 prependTo。
不带 To 的前缀本身不处理 HTML
有关更多详细信息,请参阅此页面。
http://www.w3schools.com/jquery/jquery_ref_html.asp
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 在不知道深度或父属性的情况下从对象中删除属性
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在不影响其他元素的情况下扩展DIV
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 在不移动内部文本的情况下缩放元素的效果
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 默认情况下折叠和展开嵌套列表
- 如何在不单击javascript中的按钮的情况下触发事件
- 数组真的是“分隔”的吗?默认情况下在JavaScript中