我使用以下代码将ID p:r:0:abc设置为p\\:r\\:0\\:abc

function getId(comp) {
  var id = comp.getClientId().split(':').join('\\\\:');
  return id;
}


我将生成的ID用于以下内容

$(id).css("background-image", "url('../something.png')");
$(id).slideToggle();


它没有改变背景或动画

但是如果我将ID硬编码为低于其正常工作

$(`#p\\:r\\:0\\:abc`).css("background-image", "url('../something.png')");
$(`#p\\:r\\:0\\:abc`).slideToggle();


你可以建议吗?

最佳答案

您的联接中有太多\ 1个。

您只需要1个\即可转义:-p\:r\:0\:abc



var id = "p:r:0:abc".split(':').join('\\\:');
alert($('#' + id).text())

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<b id="p:r:0:abc">TEST</b>

07-24 17:08
查看更多