0

Using the below code:

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

I receive this error:

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

Is there anything I can do to remedy this? Is it definitely because of the . in the value?

4

4 に答える 4

1

値にピリオドが含まれる場合は、値を引用符で囲む必要がある'.'ため、 のようになります[value="2.5"]

jsフィドル

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 + "']")

個人的には、一重引用符で文字列を引用し、その中で二重引用符を使用するのはグロテスクだと思います。主に読みやすさ、さらにはメンテナンスへの影響のためだと思います。もう1つは、明示的なエスケープなどなしにこれを「回避」できる言語はごくわずかであることです。この方法は良い習慣だと思います。

于 2013-04-04T11:15:44.417 に答える
0

値を引用符で囲む必要があります。これはうまくいきます:

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