简化jQuery中的变量

时间:2012-08-20 19:52:13

标签: javascript jquery

如何简化以下代码?

这只是一个静态ID。

<script>
    $x('input[id="id1"]').attr('checked', true);
    $x('input[id="idx4"]').attr('checked', true);
    $x('input[id="idk5"]').attr('checked', true);
</script>

2 个答案:

答案 0 :(得分:7)

只需使用ID selector即可。您可以通过逗号分隔来选择多个元素:

$x('#id1,#idx4,#idk5').attr('checked', true);

或者,如果您使用的是jQuery 1.6(或更高版本),则应该使用.prop()来设置已检查的属性:

$x('#id1,#idx4,#idk5').prop('checked', true);

答案 1 :(得分:0)

jQuery使用与CSS类似的seletors,只添加了一些内容。由于[id]属性必须是唯一的,因此您无需指定元素(在本例中为input)。您可以使用id selector

此外,您不应该设置checked属性,因为这会更改复选框将重置为的值,您应该更改checked属性:

$('#id1, #idx4, #idk5').prop('checked', true);

在jQuery pre-1.6中做同样的事情:

$('#id1, #idx4, #idk5').each(function () {
    this.checked = true;
});