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>
我发现类字符串在这里打破了 我不知道如何附加有条件检查的值,如果任何人可以建议的话,这将是一个很大的帮助
答案 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>';