Javascript - 使用字符串输出HTML

CJH*_*CJH 0 javascript jquery

我有一个函数,它需要一堆数组并将它们输出到一系列li标签.

function pushOutput() {
    for(i=1; i<23; i++)
    {   
        var x = eval('result'+ i);
        if(x!=undefined)
        {   
            var output = '';
            if(x.constructor == Array)
            {
                for(n=0; n<x.length; n++)
                {
                    output += x[n] + '<br />';
                }
            }
            else { output = x + '<br />';}
            $('.resultOut'+i).text(output); 

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它输出的HTML看起来像

<ul>
  <li class="resultOut1></li>
  <li class="resultOut2></li>
  <li class="resultOut3></li>
  ..... etc
</ul>
Run Code Online (Sandbox Code Playgroud)


如果有多个结果以启动新行,则代码应该在末尾添加标记.

然而,发生的事情是我实际上将br输出作为文本的一部分.所以给用户的结果看起来像

  value1 <br /> value2 <br />
Run Code Online (Sandbox Code Playgroud)

代替

value1 <br />
value2 <br />
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?

jQu*_*y00 5

你需要使用html()而不是text()

$('.resultOut'+i).html(output);