$(editor[i])[0].outerHTML
的值为:
<p style="color: red;" data-mce-style="color: red;">some string</p>
我希望
data-mce-style="color: red;"
消失。我是这样做的:
$(editor[i])[0].outerHTML.replace('data-mce-style="color: red;"', '');
但它并没有替换它。
$(editor[i])[0].outerHTML
的值为:
<p style="color: red;" data-mce-style="color: red;">some string</p>
data-mce-style="color: red;"
消失。$(editor[i])[0].outerHTML.replace('data-mce-style="color: red;"', '');
但它并没有替换它。
.replace
创建了一个新的转换字符串,它不会改变原来的变量。你只是创建了一个新的字符串,没有将新的字符串存储回 outerHTML
中,例如:
$(editor[i])[0].outerHTML = $(editor[i])[0].outerHTML.replace('data-mce-style="color: red;"', '');
<p>
元素转成字符串再重新解析更好的方法来实现您所需的功能。既然您正在使用jQuery,最明显的方法就是使用 removeAttr
方法:$(editor[i]).removeAttr('data-mce-style');
尝试:
$(editor[i]).removeAttr('data-mce-style')
http://api.jquery.com/removeAttr/
$(editor[i]).first().removeAttr('data-mce-style')
element.setAttribute(attr, null)或element.removeAttribute
不需要使用outerHTML和replace。请注意,替换HTML将删除事件监听器(除属性事件处理程序之外)。
removeData()
方法:$(editor[i]).removeData('mce-style');
你需要更改/删除特定的属性,为此你需要使用
$(editor[i]).removeAttr('data-mce-style');
更多信息请查看以下链接: http://api.jquery.com/removeAttr/
如果您需要更改特定属性的值,请执行以下操作:
attr(attributeName, value);
要了解更多相关信息,请查看以下链接: http://api.jquery.com/attr/