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

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

本文关键字:识别 表达式 不起作用 选择器 语法 错误 属性      更新时间:2023-09-26

我有一个函数,它通过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]

您缺少[name=”value”]选择器的引号。

这将解决您的问题:

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

=>

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