我正在构建一个有3个级别的条件导航菜单(今天由业务增加了第3级,不用担心它不像我下周启动。哦等我做:))。我有一个javascript var包含我的第一个条件级别的html。我现在正试图在第一个中插入另一个级别。
var myVar = '<ul class="linksUnit">';
var myVar += '<li>Link 1</li>';
var myVar += if (myVar2 != false) {document.write("Link 2")};
var myVar += '</ul>';
非常感谢任何帮助。
由于
答案 0 :(得分: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 Introduction。阅读本文后,您可以开始查看W3C DOM的方法。这是一个很好的参考:DOM2 Reference。从document.createElement
开始,逐步完成。
答案 1 :(得分:7)
var myVar += (myVar2 != false ? "Link 2" : "");
三元条件运算符等。