$(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/
当然,这将适用于选择器中的所有元素。如果您只想将此应用于元素 0,请使用:
$(editor[i]).first().removeAttr('data-mce-style')
element.setAttribute(attr, null) 或 element.removeAttribute
不需要 outerHTML 和替换。请注意,替换 HTML 将删除事件侦听器(属性事件处理程序除外)。
$(editor[i]).removeAttr('data-mce-style');
尝试使用 jQuery 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/