0

使用以下代码:

var value = 2.5;    
$el.find('[value=' + value + ']');

我收到此错误:

Error: Syntax error, unrecognized expression: [value=2.5]

我能做些什么来解决这个问题吗?肯定是因为.在里面value吗?

4

4 回答 4

1

如果它包含句点,您需要在值周围加上引号'.',这样它就会像[value="2.5"].

jsFiddle

var value = 2.5;    
$el.find('[value="' + value + '"]');
于 2013-04-04T11:15:21.977 回答
0

你以前试过这个吗?

$el.find('[value="' + value + '"]');
于 2013-04-04T11:15:38.940 回答
0

如果将值括在引号中,则不会发生这种情况:

$el.find("[value='" + value + "']")

我个人觉得用单引号引用一个字符串并在其中使用双引号是很奇怪的;我认为主要是因为对可读性甚至维护的影响,另一个是只有少数语言可以让你在没有明确转义的情况下“摆脱”这个问题。我认为这种方式是一个好习惯。

于 2013-04-04T11:15:44.417 回答
0

您需要将您的价值放在引号中。这将起作用:

var value = 2.5;    
$el.find('[value="' + value + '"]');
于 2013-04-04T11:15:52.277 回答