-1

在我的表中,我有一个 [object HTMLInputElement],我想更改此元素的 id。但这不起作用:

`函数绑定函数(){

        $('table[id*="tbl_main"]').tablesorter();
        $('table[id*="tbl_main"]').bind("sortEnd",function() { 
            var table = document.getElementById('<%=tbl_main.ClientID%>');
            for (var i = 0, row; row = table.rows[i]; i++) {
                var e = row.cells[0].firstChild;
                e.id= '5';           
            }
        }); 
    };`

谁能帮我 ?

4

1 回答 1

0

如果没有看到相关的标记,很难提供帮助。但我的猜测是单元格的第一个孩子是文本节点而不是元素。DOMfirstChild属性为您提供第一个node,它可能是也可能不是元素。例如,如果您的表格行如下所示:

<tr><td>Foo</td></tr>

...thenrow.cells[0].firstChild是一个包含 text 的文本节点"Foo"

另请注意,引用的代码将创建无效的 DOM 结构:您不能id在文档中的多个元素上使用相同的结构。您正在尝试将id值赋予"5"每行的第一个子元素。id必须是唯一的。

此外,看起来您正在使用 jQuery(尽管您没有标记问题jquery)。我只想提一下,虽然它是 HTML"5"的有效值,但它不是CSS的有效值,而且由于 jQuery 使用 CSS 样式的选择器,因此在jQuery 中使用无效的 CSS 值是有问题的。ididid

于 2013-04-02T09:52:06.243 回答