使用 query 获取 HTML 表 <thead> 元素
Get the HTML table <thead> element using query
我想使用 jquery 将列添加到我的 html 表的标题部分。这是表的定义:
<table id="grid">
<thead>
<tr>
</tr>
</thead>
<tbody>
</tbody>
</table>
尽管我试图让引用以这种方式附加一个新的元素:
$("#grid thead").find("tr").append("<th> elem </th>");
我仍然没有成功。我应该写什么来引用标题的第一行?感谢您的帮助。
你的代码没问题
http://jsbin.com/ufiper/2/edit
你确定吗?请参阅所附的示例。
当我将其改编为独立页面时,该脚本显然有效。我在表后添加了内联脚本。 因此,也许您正在头部使用它并需要$(document).ready()
或$(window).load()
来确保仅在页面加载时执行代码?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>thead test</title>
</head>
<body>
<table id="grid">
<thead>
<tr>
<td></td>
</tr>
</thead>
</table>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
$(function () {
$("#grid thead").find("tr").append("<th> elem </th>");
});
</script>
</body>
</html>
您提供的代码是正确的。由于它仍然不适合您,我最好的猜测是您已将此代码放在<head></head>
中。由于浏览器自上而下地读取您的代码,并且任何脚本在读取后立即执行,因此当它到达您的脚本时,DOM 尚未准备就绪,因此没有与您的选择器匹配的元素。
有两种方法可以解决此问题:
-
将代码移动到正文的末尾,就在关闭正文标签
</body>
之前。然后,您知道要选择的元素位于 DOM 中。 -
将代码包装在 DOM 就绪回调中,以确保 DOM 在执行代码之前已准备就绪。
使用 DOM 就绪回调的示例:
$(function () {
$("#grid thead").find("tr").append("<th> elem </th>");
});
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 如何检查父元素是tbody还是thead