<div class="form-group">
<label class="control-label" for="test1"></label>
<input type="text" name="test1" class="form-control test1" id="test1" placeholder="" width="200">
</div>
对于div <div class="form-group">
的添加类,我使用代码:
var FindName = arr[i].name; //test1
$("input[name=FindName]").parent().removeClass("test").addClass("test2");
但代码不起作用。请告诉我,我的代码中的错误在哪里?
答案 0 :(得分:2)
input[name=FindName]
匹配name
属性字面意义为字符串FindName
的元素。如果要使用FindName
变量,请构造一个新的选择器:
$('input[name="' + FindName + '"]')
或者包装原生DOM方法:
$(document.getElementsByName(FindName))
答案 1 :(得分:1)
您正试图以错误的方式使用该变量。试试这个:
$("input[name=test1]").parent().removeClass("test").addClass("test2");
或者,如果必须使用该变量,请将其连接起来:
$("input[name=" + FindName + "]").parent().removeClass("test").addClass("test2");
答案 2 :(得分:1)
修复变量的连接。如果FindName
是变量,则需要将其连接到选择器。
试试这个:
$("input[name='"+FindName+"']").parent().removeClass("test").addClass("test2");
答案 3 :(得分:0)
string concentanation:
var FindName = 'test1';
$("input[name='"+FindName+"']").parent().removeClass("test").addClass("test2");
另一方面,为什么不呢:
$('#'+findName).closest('div').removeClass("test").addClass("test2");
答案 4 :(得分:0)
因为您使用变量FindName
作为常量字符串,请尝试将其更改为:
$("input[name='"+FindName+"']").parent().removeClass("test").addClass("test2");
答案 5 :(得分:0)
您没有正确选择输入标签。输入标记的名称设置为“test1”
$("input[name="+ FindName +"]").parent().removeClass("test").addClass("test2");