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

Attribute selector is not working (syntax error, unrecognized expression)

我有一个函数,它通过名为 "ps_data" 的 SSJS 遍历传递的数组,其中一个键值对包含一个 "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]

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

这解决了您的问题:

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

=>

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