如何使用jQuery删除元素内部的data-mce-style?

t1rydlwq  于 2023-11-17  发布在  jQuery
关注(0)|答案(6)|浏览(142)

$(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;"', '');


但它并没有取代它。

yxyvkwin

yxyvkwin1#

.replace创建一个 new 转换的字符串;它不会改变原始变量。您只是创建一个新字符串,而不是将新字符串存储回outerHTML,如:

$(editor[i])[0].outerHTML = $(editor[i])[0].outerHTML.replace('data-mce-style="color: red;"', '');

字符串
然而,这只是解决了你眼前的问题--有比字符串化和重新解析<p>元素更好的方法来完成你需要的事情。因为你使用的是jQuery,最明显的方法是使用removeAttr方法:

$(editor[i]).removeAttr('data-mce-style')​;​

arknldoa

arknldoa2#

试试看:

$(editor[i]).removeAttr('data-mce-style')

字符串
http://api.jquery.com/removeAttr/
当然,这将适用于选择器中的所有元素。如果您只想将其应用于元素0,则用途:

$(editor[i]).first().removeAttr('data-mce-style')

z9smfwbn

z9smfwbn3#

element.setAttribute(attr, null)element.removeAttribute
不需要outerHTML和replace。请注意,替换HTML将删除事件侦听器(除了属性事件处理程序)。

avkwfej4

avkwfej44#

$(editor[i]).removeAttr('data-mce-style')​;​

字符串
FIDDLE

pxy2qtax

pxy2qtax5#

使用jQuery removeData()

$(editor[i]).removeData('mce-style');

字符串

6ovsh4lw

6ovsh4lw6#

你需要改变/删除一个特定的属性,为此你需要使用

$(editor[i]).removeAttr('data-mce-style');

字符串
欲了解更多信息,请查看以下链接:http://api.jquery.com/removeAttr/
如果您需要更改特定属性的值,请执行以下操作:

attr(attributeName, value);


有关相同的更多信息,请查看以下链接:http://api.jquery.com/attr/

相关问题