Javascript 语法错误,无法识别的表达式:选项[值=属性名称]
我有一个像这样的数据列表Javascript 语法错误,无法识别的表达式:选项[值=属性名称],javascript,jquery,datalist,Javascript,Jquery,Datalist,我有一个像这样的数据列表 <datalist id="properties"> <option value="property name"></option> <option value="property"></option> </datalist> 我在var pro=$('#properties')中遇到错误。查找(“option[value=“+user_property.replace
<datalist id="properties">
<option value="property name"></option>
<option value="property"></option>
</datalist>
我在var pro=$('#properties')中遇到错误。查找(“option[value=“+user_property.replace”('''-')+“])代码>
错误代码显示语法错误,无法识别的表达式:选项[value=property name]
如何消除此错误?尝试添加引号,如下所示:
var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");
或者最好将其分解为:
var replaced = user_property.replace(' ','-');
var pro = $('#properties').find("option[value='"+replaced+"']");
如果要检查“属性名称”之类的文本,可以直接执行以下操作:
var pro = $('#properties').find("option[value='"+user_property+"']");
尝试在值周围添加引号,它将起作用
$('#properties').find("option[value='property name']")
您需要为您的价值添加单个报价,如
var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");
这会起作用,但选项列表有“属性名”,所以它会返回false@runningmark如果要检查“属性名”,则无需进行替换。。就像我补充的答案一样。。!这很奇怪,你的第二个解决方案是在firefox上工作,而不是在chrome上:\很有趣,它突然停止了在firefox和chrome上的工作,然后我意识到页面的源代码没有更新,然后我放弃了aptana:D的升华文本,无论如何谢谢你的回答:)
var pro = $('#properties').find("option[value='"+user_property.replace(' ','-')+"']");