此代码有效,类已添加,但我收到错误。
console.log(key); //first_date
$('*[name='+key+']').addClass('error');
错误:
Uncaught Error: Syntax error, unrecognized expression: `*[name=]`
这里有什么问题吗?
<input id="date-picker-1" type="text" class="date-picker form-control hasDatepicker" name="first_date">
最佳答案
发生错误是因为您的 key
变量为空。 '*[name='+key+']'
正在评估为 '*[name=]'
。为避免错误,您可以将 key
变量用引号引起来:
$('*[name="'+key+'"]').addClass('error');
这样您就不会得到错误,因为它不会尝试计算 *[name=]
,而是尝试计算 *[name=""]
。但是,由于您的 key
变量似乎为空,这可能不会产生您正在寻找的结果。
仔细检查您的代码以确保在调用 addClass
之前设置了 key
。
事实上,如果你所说的添加了“错误”类,我想你的代码被执行了两次 - 一次是 key
为空,另一次是 key
实际上等于“first_date”。
关于javascript - 将属性选择器与变量连接会出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27525023/