添加Javascript的字符串变量

时间:2014-08-28 11:51:46

标签: javascript jquery

 var currentClass = ((elementArray[count]['Name'] === entityName) ? "'context-li-current-background'" : "' context-li-item-background-default'");      


"<li id='" + elementArray[count]['Url'] + "'  class='context-li-item '\'' + currentClass +'\''>" + elementArray[count]['Text'] + "</li>";

有条件地试图通过jquery方面向我的li元素添加一个类,但是上面的代码给出了

 <li +'''="" currentclass="" +="" ''="" class="context-li-item " id="/Alphabet/list">Alphabe</li>

我发现类字符串在这里打破了 我不知道如何附加有条件检查的值,如果任何人可以建议的话,这将是一个很大的帮助

3 个答案:

答案 0 :(得分:1)

您有引用问题,请尝试使用此

"<li id='" + elementArray[count]['Url'] + "' class='context-li-item " + currentClass + "'>" + elementArray[count]['Text'] + "</li>";

修改

其他内容,请在此处删除单引号

var currentClass = ((elementArray[count]['Name'] === entityName) 
     ? "'context-li-current-background'" 
     : "' context-li-item-background-default'");   

所以你应该

var currentClass = ((elementArray[count]['Name'] === entityName) 
     ? "context-li-current-background" 
     : "context-li-item-background-default");   

答案 1 :(得分:1)

使用jQuery创建元素,更清晰

var li = $('<li></li>')
        .prop('ID', elementArray[count]['Url'])
        .addClass('context-li-item' + currentClass)
        .text(elementArray[count]['Text'])

根据您现有的实施情况,使用

var currentClass = (elementArray[count]['Name'] === entityName) 
    ? " context-li-current-background" //You don't need to use quotes in string
    : " context-li-item-background-default";    

"<li id='" + elementArray[count]['Url'] + "' class='context-li-item " + currentClass + "'>" + elementArray[count]['Text'] + "</li>";

答案 2 :(得分:1)

看起来你可能混淆了双引号和单引号。使用单引号定义字符串,并在输出字符串中需要引号的地方使用双引号

'<li id="' + elementArray[count]['Url'] + '"  class="context-li-item ' + currentClass +'">'+ elementArray[count]['Text'] + '</li>';