用jQuery替换ID中的特殊字符
问题描述:
我有e。 G。此代码:用jQuery替换ID中的特殊字符
<article role="tabpanel" class="tab-pane" id="2.asdasdasdda">
并且需要删除/替换“。”。在ID中。
我试着用:
$('.tab-pane').replace('.','LEAVE');
但没有任何反应。我在这里做错了什么?
答
您需要重新分配ID
属性的值。
$('.tab-pane').attr('id', function(_, value) {
return value.replace('.', 'LEAVE');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<article role="tabpanel" class="tab-pane" id="2.asdasdasdda">aaa</article>
答
试试这个(当然你可以改变 “离开” 你想要什么):
console.log($(".tab-pane").attr("id"));
$(".tab-pane").attr("id",$('.tab-pane').attr("id").replace('.','LEAVE'));
console.log($(".tab-pane").attr("id"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<article role="tabpanel" class="tab-pane" id="2.asdasdasdda">
答
你可以用这种方式:
$('.tab-pane').attr('id', function(){
var id = this.id.replace('.','LEAVE');
return id;
});
但没有任何反应。
当然!你的代码在你试图替换元素内容的.
时不起作用。
因为您想要更改它的属性id
。因此,.attr()
方法可以作为第二个参数与功能一起使用。
使用'$( '标签窗格 ')。ATTR( “ID”)。REPLACE(' ''')',而不是 – Mohammad
一个'.'是有效的字符在'id'中 - 至少在HTML5中。如果需要,您最好直接从源代码中删除它们。如果这是你的担心,你可以很容易地逃避jQuery选择器中的字符 –