0

请帮我敲出.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>
4

2 回答 2

0

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

document.getElementsByClassName('class_name')

编辑:好点。我本来打算建议使用jquery,然后记住了这个功能。如果你使用的是 jquery 库,你也可以试试这个:

$('.class_name').each(function(index) {
    ...do something...
});

编辑:要回答您的问题,有几种方法可以做到这一点:

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

或者

$('.class_name').addClass('class_name')

取决于你到底想要做什么

于 2012-11-08T17:02:59.977 回答
0

尝试使用这样的代码:

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

在此处阅读有关attr绑定的更多信息:http: //knockoutjs.com/documentation/attr-binding.html

于 2012-11-08T18:56:23.960 回答