用变量简化javascript

时间:2012-05-19 08:11:55

标签: javascript variables simplify

if (this.firstChild.style.display == 'none')
{this.firstChild.style.display = 'block'}
else
{this.firstChild.style.display = 'none'};

是否可以使用变量缩短此代码?

5 个答案:

答案 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'