在 ADF 中使用 Jquery 和动态生成的 ID
Using Jquery with dynamically generated id in ADF
我使用下面的代码获取 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();
你能给点建议吗?
您在创建选择器时缺少 ID 选择器 #
。应该是:
$('#'+id); // id = 'p\:r\:0\:abc'
您可以使用属性等于选择器来处理带有特殊字符的选择器:
var id= 'p:r:0:abc';
$('[id="'+id+'"]').css("background-image", "url('../something.png')");
$('[id="'+id+'"]').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>
我使用下面的代码获取 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();
你能给点建议吗?
您在创建选择器时缺少 ID 选择器 #
。应该是:
$('#'+id); // id = 'p\:r\:0\:abc'
您可以使用属性等于选择器来处理带有特殊字符的选择器:
var id= 'p:r:0:abc';
$('[id="'+id+'"]').css("background-image", "url('../something.png')");
$('[id="'+id+'"]').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>