我使用以下代码将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>