微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从jQuery中删除sizset和sizcache属性?

我已经知道了what sizcache and sizset attributes are,但我关心的是它们在我们的Web应用程序中的倍增.我解释说:我们使用jQuery开发了一个“自制的”WYSIWYG html编辑器,当我们的用户保存结果HTML时,我们使用.html()(或innerHTML)检索它,然后将其保存在数据库中.然后我们的用户可以编辑它,并再次保存在数据库中.当使用非IE浏览器时,一切都很好,但在IE中,jQuery添加了那些(ahemm讨厌的)sizset和sizcache属性,它们最终出现在生成的HTML中.从数据库重新加载HTML并再次保存时,会添加越来越多的sizset和sizcache.

对我来说理想的解决方案是这些属性永远不会在数据库中结束.如果首先有来自jQuery的解决方案,我不确定我是否要解析HTML服务器端以删除它们.有人遇到过这个问题吗?

这是我们所拥有的一个例子:

HTML:

Javascript:

var source = $('#source').html();

变量“source”最终包含sizset和sizcache属性

最佳答案
使用.html()检索整个字符串后Use a regular expression

var re = /\s*(sizset|sizcache)\d*="[^"]*"/gi;
source = source.replace(re,'');

http://jsfiddle.net/mblase75/fMdVc/

或者,jQuery有一个.removeAttr()方法,但你必须将它应用于特定的标签

jQobj.removeAttr('sizset').removeAttr('sizcache');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。