Javascript 在foreach生成的html表中选择单元格

Javascript 在foreach生成的html表中选择单元格,javascript,html,knockout.js,Javascript,Html,Knockout.js,请帮助我使用knockout.js代码 我尝试按id选择表中的元素并更改它的css样式,但所有行都有相同的id,我不能使用函数getElementById。我怎么能做这件简单的事 <tbody data-bind="foreach: times"> <tr> <td id=$index() data-bind="click: $root.select.bind($data, $index(), 0)> </td&g

请帮助我使用knockout.js代码

我尝试按id选择表中的元素并更改它的css样式,但所有行都有相同的id,我不能使用函数getElementById。我怎么能做这件简单的事

<tbody data-bind="foreach: times">
        <tr>
            <td id=$index() data-bind="click: $root.select.bind($data, $index(), 0)> </td>

        ....

        <td id=$index() data-bind="click: $root.select.bind($data, $index(), 19)> </td>

    <tr>
</tbody>

Id应始终是唯一的。将相同的类分配给您感兴趣的所有元素,并使用一些jquery:

document.getElementsByClassName('class_name')
编辑:很好。我本来打算建议使用jquery,但后来想起了这个函数。如果您正在使用jquery库,还可以尝试以下方法:

$('.class_name').each(function(index) {
    ...do something...
});
编辑:要回答您的问题,有几种方法:

$('.class_name').attr('id', new_id)

根据您要执行的具体操作

尝试使用以下代码:

<tbody data-bind="foreach: times">
    <tr>
        <td data-bind="attr: {id: $index()}, click: $root.select.bind($data, $index(), 0)></td>
    <tr>
</tbody>


当您的示例是原生js时,为什么要说使用一点jquery?jquery将是$('.class_name')我如何编写:id=jsvariable或class=jsvariable?
<tbody data-bind="foreach: times">
    <tr>
        <td data-bind="attr: {id: $index()}, click: $root.select.bind($data, $index(), 0)></td>
    <tr>
</tbody>