【发布时间】:2011-06-03 23:55:13
【问题描述】:
可以像在代码中一样处理多个 id 吗?
<script>
$("#segement1, #segement2, #segement3").hide()
</script>
<div id="segement1"/>
<div id="segement2"/>
<div id="segement3"/>
【问题讨论】:
可以像在代码中一样处理多个 id 吗?
<script>
$("#segement1, #segement2, #segement3").hide()
</script>
<div id="segement1"/>
<div id="segement2"/>
<div id="segement3"/>
【问题讨论】:
是的,#id selectors 结合 multiple selector(逗号)在 jQuery 和 CSS 中都完全有效。
但是,对于您的示例,由于 <script> 出现在 元素之前,因此您需要一个 document.ready 处理程序,因此它会等到元素在 DOM 中才去寻找它们,例如这个:
<script>
$(function() {
$("#segement1,#segement2,#segement3").hide()
});
</script>
<div id="segement1"></div>
<div id="segement2"></div>
<div id="segement3"></div>
【讨论】:
$("[id^=segement]").hide()(将其范围扩大到任何父母都不会是一个坏主意)。
关于你的第二个问题
var elem1 = $('#elem1'),
elem2 = $('#elem2'),
elem3 = $('#elem3');
您可以使用变量作为选择器的替换。
elem1.css({'display':'none'}); //会工作
在以下情况下,选择器已经存储在变量中。
$(elem1,elem2,elem3).css({'display':'none'}); // 不会工作
【讨论】: