if (this.firstChild.style.display == 'none')
{this.firstChild.style.display = 'block'}
else
{this.firstChild.style.display = 'none'};
是否可以使用变量缩短此代码?
答案 0 :(得分:3)
var a = this.firstChild.style;
a.display = (a.display=='none'?'block':'none');
答案 1 :(得分:2)
var childStyle=this.firstChild.style;
if ( childStyle.display == 'none'){
childStyle.display = 'block';
}
else{
childStyle.display = 'none';
}
将是等效的。
您可以使用三元运算符(如
)进一步缩短var childStyle=this.firstChild.style;
childStyle.display=(childStyle.display=='none')?'block':'none';
答案 2 :(得分:1)
如果你选择jquery而不是缩短
$("div span:first-child").toggle();
或
$(this).find(">:first-child").toggle();
答案 3 :(得分:1)
顺便说一句,这可以是另一种选择吗?
with this.firstChild.style.display{this=(this=='none')?'block':'none';}
答案 4 :(得分:0)
尝试:
var elstyle = this.firstChild.style;
elstyle.display = /block/i.test(elstyle.display) ? 'none' : 'block'