怎么做,将HTML附加到其他下拉列表?

时间:2017-11-01 16:56:46

标签: javascript twitter-bootstrap if-statement return dropdown

我会以简单的方式做到这一点我想在“if if inside inside”中“返回”

if(condition){
    ...
       if(another_condition)
         {
           ...
               return;//I want this "return" return from the first if also
         } 
}

实际上我有复杂的脚本供我使用,我已经听过像docx文件生成的内容......:
chapitre1
一,标题1    1)subtitle1
   2)subtitle2
II.title2
  1)subtitle1
  2)subtitle2
  3)subtitle3
chapitre2 I.title1   等

首先,我想用dropdown hover样式将每章的大标题分开 我希望脚本将每个章节的内容附加到其他下拉列表中,并将每个盛大标题附加到另一个子下拉列表中,例如下拉悬停样式

enter image description here

2 个答案:

答案 0 :(得分:1)

我猜你不是真的意思return,你只想突破外if的身体。

不要这样做。相反,要么:

  1. 使用else,将if块中外部else块的所有其余部分放在<{1}}块中,或

  2. 将您的逻辑分解为更小的部分,将它们包装在函数中,然后将这些函数组合在一起。这通常不需要这种复杂的逻辑。

  3. else示例:

    if (someCondition) {
        doThis();
        if (someOtherCondition) {
            doThat();
        } else {
            doSomethingElse();
        }
    }
    

    直播示例:

    &#13;
    &#13;
    function doThis() { console.log("doThis"); }
    function doThat() { console.log("doThat"); }
    function doSomethingElse() { console.log("doSomethingElse"); }
    
    function foo(someCondition, someOtherCondition) {
        if (someCondition) {
            doThis();
            if (someOtherCondition) {
                doThat();
            } else {
                doSomethingElse();
            }
        }
        console.log("foo done");
    }
    
    console.log("foo(true, false):");
    foo(true, false);
    console.log("foo(true, true):");
    foo(true, true);
    &#13;
    &#13;
    &#13;

    话虽如此:JavaScript 确实实际上允许您在break语句中使用定向if,这与许多其他语言不同。所以你可以这样做:

    // REALLY BAD PRACTICE
    outer:
    if (someCondition) {
        doThis();
        if (someOtherCondition) {
            doThat();
            break outer;
        }
        doSomethingElse();
    }
    

    在这种情况下,如果someConditionsomeOtherCondition都为真,则永远不会调用doSomethingElse

    直播示例:

    &#13;
    &#13;
    function doThis() { console.log("doThis"); }
    function doThat() { console.log("doThat"); }
    function doSomethingElse() { console.log("doSomethingElse"); }
    
    function foo(someCondition, someOtherCondition) {
        outer:
        if (someCondition) {
            doThis();
            if (someOtherCondition) {
                doThat();
                break outer;
            }
            doSomethingElse();
        }
        console.log("foo done");
    }
    
    console.log("foo(true, false):");
    foo(true, false);
    console.log("foo(true, true):");
    foo(true, true);
    &#13;
    &#13;
    &#13;

    但是......不要这样做。 : - )

答案 1 :(得分:0)

如果您想要返回您在中的功能的结果,只需使用&#39; return&#39;像平常一样。

如果你想避免执行第一个if 中的其余代码,你可以设置一个外部变量,如:

if (first condition) {
    var continue = true;
    if (second condition) {
        ...
        continue = false;
    }

    if (continue) {
        ....
    }
}