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

変数を使用してこのコードを短縮することは可能ですか?

4

5 に答える 5

3

次のように短縮できます。

var a = this.firstChild.style;
a.display = (a.display=='none'?'block':'none');
于 2012-05-19T08:15:15.027 に答える
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';
于 2012-05-19T08:14:13.307 に答える
1

これよりも短いjqueryを使用する場合

$("div span:first-child").toggle();

また

$(this).find(">:first-child").toggle();
于 2012-05-19T08:16:08.760 に答える
1

ところで、これは別の選択肢になるでしょうか?

with this.firstChild.style.display{this=(this=='none')?'block':'none';}
于 2012-05-19T08:22:24.840 に答える
0

試す:

var elstyle = this.firstChild.style;
elstyle.display = /block/i.test(elstyle.display) ? 'none' : 'block'
于 2012-05-19T08:21:13.563 に答える