jquery 说 tbody.length = 1 即使没有 <tbody> 标签存在

标签 jquery html

<分区>

我有一个非常简单的表格,其中包含最少的 html 标签,例如:

<table id="test">
    <tr><td>some table cell</td></tr>
</table>

我正在尝试检查标签是否存在。奇怪的是:jquery 说“是的,有一个 tbody 标签”,即使我没有定义一个!这里发生了什么?

$('table#test').each(function(){

    var tbody = $(this).find('tbody');

    //how can there be a tbody when there is no <tbody> tag defined?
    console.log(tbody.length); //gives 1, should be 0 though as there is no tbody

});

使用 jQuery 1.6.4 在 Chrome 28.0、Firefox 22.0 中测试(因为当前项目需要它,尽管它也发生在 jQuery 2.0.2 中)

这里还有一个jsFiddle:http://jsfiddle.net/nerdess/rH5Lf/

最佳答案

tbody自动添加到表格中,你可以通过右键查看组件(chrome开发者工具)看到tbody在那里

<table id="test">
    <tbody>
        <tr>
            <td>some table cell</td>
        </tr>
    </tbody>
</table>

关于jquery 说 tbody.length = 1 即使没有 <tbody> 标签存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18209762/

相关文章:

javascript - jQuery .change() 事件没有被触发?

javascript - 没有 if 的简写/隐式 if() 语句

javascript - 如何在我的 javascript 中保存添加或删除类 cookie?

html - 如何使带有溢出的 ul 适合绝对 div

css - 在 twitter bootstrap 2.0.4 中更改导航栏颜色

JQuery UI 选项卡使用 ajax 加载文档片段

jquery - 使用元素子类上的条件使用 jquery 选择元素

javascript - Chart.js 添加自定义标题、副标题、图形

php - 为什么 Firefox 从 HTML 表单中删除/忽略隐藏的输入值?

javascript - 多行工具提示无法以编程方式工作