属性选择器不起作用(语法错误,无法识别的表达式)

时间:2016-04-25 23:04:07

标签: javascript jquery html jquery-selectors syntax-error

我有一个函数,通过SSJS传递一个传递的数组,名为" ps_data"其中一个键值对包含一个" urlencoded"由于某种原因,它不断破坏我的Jquery代码。

我需要完全按原样传递此值。

$(document).ready(function () {
  $.each(ps_data, function (key, value) {
    $("input:radio[name="+key+"][value="+value+"]").prop("checked", true);
    console.log(key+ ":" + value);
  });
});

我收到此错误,即使该值完全符合我的需要并且是URL编码的。当我只使用常规字符串时,它只能使用guid的值。

Syntax error, unrecognized expression:

input:radio[name=guid][value=QyveK1%40vUnHeTQiwCn0IWGdEpmNqbUHL6cITnxlQHgI%3d]

1 个答案:

答案 0 :(得分:3)

您缺少[name=”value”] selector的引号。

这解决了您的问题:

$('input:radio[name="' + key + '"][value="' + value + '"]')

=>

$('input:radio[name="guid"][value="QyveK1%40vUnHeTQiwCn0IWGdEpmNqbUHL6cITnxlQHgI%3d"]')