我有以下内容:
changeDegreeLabel: {
"Certificate" : "Diploma"
}
this.changeDegreeLabel = function(labelReplacements)
{
这个有效
$.each(labelReplacements, function(oldValue, newValue) {
$('#programList dt:contains(' + oldValue + ')')
.text(newValue);
});
这个还不行
$.each(labelReplacements, function(oldValue, newValue) {
$("#program_id>optgroup[label="+oldValue+"]")
.attr('label', newValue);
});
}
基本上,我只想将证书更改为文凭。它适用于第一个功能,但不适用于第二个功能。我尝试了多个不同的引用组合来连接属性选择器中的变量,但无济于事。想法?
编辑:这是'这个还没有工作'部分的HTML
<select id="program_id" class="required" name="program_id">
<option value="" selected="selected">— Select —</option>
<optgroup label="Associate">
</optgroup>
<optgroup label="Certificate">
</optgroup>
答案 0 :(得分:1)
您需要在值周围添加引号,例如,您的字符串可能包含空格。您需要使用单引号或转义双引号:
$('#program_id>optgroup[label="'+ oldValue +'"]')
-^- -^- -^--^-
//OR
$("#program_id>optgroup[label=\""+ oldValue +"\"]")
-^- -^-