相关疑难解决方法(0)

为什么浏览器会将tbody元素插入表元素中?

我正在玩一些使用原始html和JQuery的想法.我做的一件事是创建一个包含一组行的表元素.

<table id="MyTable" >
    <tr>
        <td>Title</td>
    </tr>
    <tr>
        <td>1</td>
    </tr>
    <tr>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

但是,当我在FireFox + Firebug,IE8开发人员工具栏或Google Chrome JavaScript调试器中查看代码时......所有这些代码都显示了围绕所有tr节点的tbody元素.

我并不反对这种情况......但这是标准行为吗?

html xhtml

57
推荐指数
2
解决办法
2万
查看次数

为什么在使用子选择器时table> tr> td不起作用?

我无法理解为什么以下选择器按预期工作(即获取td):

table tr td
Run Code Online (Sandbox Code Playgroud)

但这个没有:

table > tr > td
Run Code Online (Sandbox Code Playgroud)

td是后代tr,后者又是后代table,但他们也是彼此的孩子.因此,我认为>选择器也可以工作.

我做了两个小提琴:

  1. 孩子:http://jsfiddle.net/brLee/
  2. 后裔:http://jsfiddle.net/brLee/1/

为什么>选择器不在这里工作?

html css css-selectors

39
推荐指数
1
解决办法
2万
查看次数

为什么firebug将<tbody>添加到<table>?

我查看了html源代码,没有<tbody>,但是当在HTML标签中通过firebug查看时,会<tbody>出现.知道为什么吗?

html firebug dom

30
推荐指数
2
解决办法
5358
查看次数

为什么$('#table> tr')选择器不匹配?(总是返回0)

HTML代码:

<table id='table'>
    <tr>
        <td>..</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

使用jquery的js代码:

var l1 = $('#table > tr').length;
var l2 = $('#table tr').length;
alert(l1+','+l2);?
Run Code Online (Sandbox Code Playgroud)

结果:

 0,1
Run Code Online (Sandbox Code Playgroud)

为什么第一个#table > tr得到0?

您可以从这里看到现场演示:http://jsfiddle.net/Freewind/PmsFQ/

jquery jquery-selectors

8
推荐指数
1
解决办法
3509
查看次数

innerHTML正在添加tbody,为什么?

我正在用 Javascript 创建一个表,所以在一个循环中

if (formFieldData == 'cleanSlate')
{
  document.getElementById('productsTable').innerHTML = '';
  // clears what was there before, so we're left with an empty <table>
} else
{
  document.getElementById('productsTable').innerHTML += '<tr></tr>';
}
Run Code Online (Sandbox Code Playgroud)

经过几次迭代后,我剩下的是这个..不知道如何在没有尖括号的情况下为您显示 HTML: tbody tr /tr /tbody tbody tr /tr /tbody

为什么它要插入这些 tbody,我怎样才能阻止它这样做?

innerhtml

5
推荐指数
1
解决办法
2353
查看次数

getElementsByTagName("table") - 以好奇的方式获得td

我有这个简单的例子

 <table border="1px">
  <tr> 
    <td> </td>
    <td> <input type="button" value="Click" onclick="insertText()"/> </td>
  </tr>
 </table>
Run Code Online (Sandbox Code Playgroud)

我想获得(第一个)tr元素的第一个td元素,我试过:

var td = document.getElementsByTagName("table")[0].children[0].children[0];
Run Code Online (Sandbox Code Playgroud)

因为它是:

  • var td = document.getElementsByTagName("table")[0] 对于表元素本身
  • children[0] 对于tr元素
  • children[0]再次为第一个TD元素

这就是我的想法,但显然这会让我返回tr元素而只添加另一个.children[0]让我获得td元素.

var td = document.getElementsByTagName("table")[0].children[0].children[0].children[0];
Run Code Online (Sandbox Code Playgroud)

为什么这样,或者我错过了什么?

html javascript html5 html-table

4
推荐指数
1
解决办法
1023
查看次数

我可以忽略HTML 5中的<tbody>元素吗?

我看到一些HTML5设计师<tbody>在标记表时忽略了该元素.他们只使用<thead><tfoot>元素.这可以被视为一种良好的做法并遵循HTML5中的良好标准吗?


这个问题基于我之前的问题,可以在以下网址找到:

HTML5中的thead,tfoot和tbody顺序

  • 我之前的问题是关于使用的顺序,<thead><tbody><tfoot>这个问题是关于<tbody>从标记中删除所有内容的可能性.

html html5

3
推荐指数
2
解决办法
155
查看次数

CSS hover禁用嵌套表

我有CSS :hover类的问题.如何禁用:hover第二行内的第二个表类.

这是小提琴

HTML

<table border="0" width="100%" id="product-table">
  <tr>
    <td colspan="2">Title of the table</td>
  </tr>
  <tr>
    <td width="20%"><b>Text text</b></td>
    <td>someting about product</td>
  </tr>
  <tr>
    <td><b>text text</b></td>
    <td>
        <table border="0" width="100%">
        <thead>
            <tr bgcolor="#ddd">
                <td colspan="6"><strong>Title of inside</strong></td>
            </tr>
            <tr bgcolor="#efefef">
                <td width="20%"><strong>No</strong></td>
                <td width="20%"><strong>Date</strong></td>
                <td width="20%"><strong>Define</strong></td>
            </tr>
        </thead>
        <tbody id="hat_ekle">
            <tr>
                <td>123</td>
                <td>2013</td>
                <td>some text</td>
            </tr>
            <tr>
                <td>234</td>
                <td>2013</td>
                <td>some text</td>
            </tr>
        </tbody>
        </table>
    </td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

CSS

#product-table tr:hover { background:#333; }
Run Code Online (Sandbox Code Playgroud)

html css hover

2
推荐指数
1
解决办法
1517
查看次数

jQuery 1.7.1:length函数无法获取表tr计数

当我们升级到jQuery 1.7.1时,此代码停止工作. $('table.className > tr').length正在返回0.你能告诉我如何纠正它吗?

.NET代码(执行jQuery代码):

public static long GetTableRowCountByCssClass(IWebDriver driver, string cssClass, int exclusionRowCount)
{
    IJavaScriptExecutor js = driver as IJavaScriptExecutor;
    long count = (long)js.ExecuteScript("return $('table." + cssClass + " > tr').length");
    if (count != 0)
    {
        count = count - exclusionRowCount;
    }
    return count;
}
Run Code Online (Sandbox Code Playgroud)

HTML代码:

<!-- Products -->
<table class="cart" cellpadding="0" cellspacing="0" border="0">

    <thead>
        <tr>
            <th class="remove">Delete</th>
            <th class="prod-desc">Product Description</th>
            <th class="ships_w">Ships Within</th>
            <th class="price">Unit Price</th>
            <th>&nbsp;</th>
            <th class="quantity">Qty.</th>
            <th class="totals">Total</th>
        </tr>
    </thead>

    <tfoot>
        <tr>
            <td …
Run Code Online (Sandbox Code Playgroud)

html jquery jquery-selectors

1
推荐指数
1
解决办法
949
查看次数