+ -
当前位置:首页 → 问答吧 → JS删除HTML字符串中指定的属性以及值。

JS删除HTML字符串中指定的属性以及值。

时间:2011-09-20

来源:互联网

比如这样的:
var html = "<div id=\"div1\" onmouseout=\"Iphone.init()\" style=\"height:50px;\"></div>";
html += "<div id=\"div2\"></div>";


现在我想删除html这个字符串里指定的字符(属性以及他的值),比如我想删掉div1的onmouseout和style属性。
然后再删掉id=div2的div

如何实现?
正则是不是好点。

作者: lifeiscool_adream   发布时间: 2011-09-20

字符串用正则比较好
dom的话本身就有方法

作者: ycmjh2010   发布时间: 2011-09-20

求正则。

作者: lifeiscool_adream   发布时间: 2011-09-20

正则你要如何删除?字符又没统一的格式可以匹配。
我觉得问题不在这串字符中,而是你代码设计上的问题

作者: wldlzt   发布时间: 2011-09-20

具体问题具体分析
html标签体有"的话 用&auot;代替 功能可以实现的 然后
var html = "<div id=\"div1\" onmouseout=\"Iphone.init()\" style=\"height:50px;\"></div>";
html=html.replace(/<div\s[^>]+>/g,function(arg0){
return arg0=arg0.replace(/\s?(?:onmouseout|style)="[^"]+"\s?/gi,'');
});
alert(html);
至于第二个 你完全可以用if来判断 比如if(false){
html+="<div id=\"div2\"></div>";
}
这种问题在实际中还有很多变化 有的innerHTML会去掉=右边的"" 有的""里夹杂 转义\ 烦很的

作者: antiwise   发布时间: 2011-09-20

引用 1 楼 ycmjh2010 的回复:

字符串用正则比较好
dom的话本身就有方法

正解,话说这个代码设计的有些问题。

作者: hi_allen_liu   发布时间: 2011-09-20

相关阅读 更多