jquery-div id匹配失败,因为id中存在\

jquery-div id匹配失败,因为id中存在\,jquery,html,escaping,Jquery,Html,Escaping,hdnfieldstring具有类似“abc\xyz,edc\qaz”的值,每个值都是div id。 上面的代码适用于没有\的id,但不适用于我上面提供的示例数据。 你能帮忙吗?反斜杠必须转义,所以把一个反斜杠改成两个反斜杠 $('#bannerAbc tr td .scroller div.checkbox[id="' + $('#hdnfieldstring').val().trim().split(',')[i] + '"]').each(function () { $(this)

hdnfieldstring具有类似“abc\xyz,edc\qaz”的值,每个值都是div id。 上面的代码适用于没有\的id,但不适用于我上面提供的示例数据。
你能帮忙吗?反斜杠必须转义,所以把一个反斜杠改成两个反斜杠

$('#bannerAbc tr td .scroller div.checkbox[id="' + $('#hdnfieldstring').val().trim().split(',')[i] + '"]').each(function () {
    $(this)[0].className = $(this)[0].className + " checked";
})

ID和名称标记必须以字母([a-Za-z])开头,后面可以跟任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)。我同意,一些以这种方式编写的遗留代码试图不触及这一点,因为必须在许多情况下进行修改places@AdarshK:对不起,必须有两个和四个反斜杠,请参阅更新的答案。非常感谢这项工作,我知道在ID中使用\并不理想。但现在改变这一点会产生更大的影响。
$('#bannerAbc tr td .scroller div.checkbox[id="' + $('#hdnfieldstring').val().trim().split(',')[i].replace('\\', '\\\\') + '"]').each(function () {