【发布时间】:2014-08-27 11:56:01
【问题描述】:
假设我有一万个 div,它们的默认背景颜色为灰色,但是当我单击特定 div 时,背景颜色应更改为绿色。
我尝试了 5 个元素
<div id='1'>1</div>
<div id='2'>2</div>
<div id='3'>3</div>
<div id='4'>4</div>
<div id='5'>5</div>
JS:
$('div').each(function(i, j){
console.log(j);
$(j).click(function(index, ele){
$('div').css({'background-color': 'grey'});
$('div#'+index.currentTarget.id).css({'background-color': 'green'});
});
});
这是可行的,但是如果有 10000 div 之类的说法,性能将是一个问题,我想要一个更好的方法。
【问题讨论】:
-
你的 id 错误,ID 属性必须始终以字母开头。
-
@Ahmad:不,在 HTML5 中不会。
-
@CBroe 是的,仍然以另一种方式验证 HTML5 和以前的版本
-
@Ahmad:它是否验证为旧版本并不重要——这就是为什么你指定你通过doctype使用哪个HTML版本声明。
标签: javascript jquery html performance