5

私は 3 つのレベルを持つ条件付きナビゲーション メニューを構築しています (3 番目のレベルはビジネスによって今日追加されました。心配する必要はありません。来週ローンチするようなものではありません。ああ待ってください :))。最初の条件レベルの html を含む JavaScript var があります。私は今、最初のレベルの中に別のレベルを挿入しようとしています。

var myVar = '<ul class="linksUnit">';
var myVar += '<li>Link 1</li>';
var myVar += if (myVar2 != false) {document.write("Link 2")};
var myVar += '</ul>';

どんな助けでも大歓迎です。

ありがとう

4

2 に答える 2

10

このように書く必要があります(私自身はほとんどjavascriptを知りませんが、これは正しいと思います):

var myVar  = '<ul class="linksUnit">';
myVar     += '<li>Link 1';
if (myVar2) { // note != false means true
    // insert a nested unordered list
    myVar += '<ul>';
    myVar += '<li>Link 2</li>';
    myVar += '</ul>';
}
myVar     += '</li>'; 
myVar     += '</ul>';

var変数を初めて宣言するときにのみ必要です。

W3C DOM

このようにドキュメントに追加/挿入する文字列を作成すると、すぐにかなり混乱します。たとえば、何かを変更したい場合は、文字列をいじる必要があります。APIを使用することをお勧めしますW3C DOM。API は標準化されており、ドキュメント ツリーの任意の子要素に追加できる要素ツリーを構築するクリーンな方法を提供します。ここに、この問題に関する優れた紹介があります: W3C DOM Introduction。これを読んだら、W3C DOM のメソッドを調べ始めることができます。ここに良いリファレンスがあります: DOM2 Reference。から始めてdocument.createElement、最後までやり遂げてください。

于 2008-12-02T21:36:03.977 に答える
7

var myVar += (myVar2 != false ? "Link 2" : "");

三項条件演算子など

于 2008-12-02T21:36:50.747 に答える