我看到这个问题已被问到,但我想知道如何从元素中完全删除id。
例如我有
<div id="page"> some content here </div>
我想从元素中删除id。因此在页面加载后元素看起来像
<div> some content here </div>
这就是我试过的
document.getElementById("page").removeClass(" ");
和
$( "#page" ).addClass( " " );
控制台窗口允许它运行,但元素ID仍然是
答案 0 :(得分:0)
您首先尝试使用jquery方法混合本机方法,因此它应该创建一个错误( removeClass
是一个jQuery方法,所以它只适用于jQuery对象)
在第二次尝试时,您尝试删除没有值的类..
您应该使用jquery方法removeAttr()
并向其传递要删除的属性名称。
$('#page').removeAttr('class');
将完全删除class
属性
如果您要删除id
,请使用
$('#page').removeAttr('id');
答案 1 :(得分:-1)
如果不直接编辑dom,你就无法做到这一点。你可以使用addclass和removeclass函数来模拟它。
var addClass = function(el,class_name){
el.className += " "+class_name;
}
var removeClass = function(el,class_name){
el.className = el.className.replace(new RegExp(class_name+"|"+class_name,"g"),"");
}
如果你希望它更像面向对象,你可以这样做:
function domElement(el){
this.el = el;
this.addClass = function(class_name){
this.el.className += " "+class_name;
return this;
}
this.removeClass = function(class_name){
this.el.className = this.el.className.replace(new RegExp(class_name+"| "+class_name,"g"),"");
return this;
}
}
然后:
new domElement(document.getElementById("theElement")).addClass("class")
答案 2 :(得分:-1)