6

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

しかし、それはそれを置き換えるものではありません。

4

6 に答える 6

9

.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')​;​
于 2012-10-17T12:56:50.880 に答える
2

試す:

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

http://api.jquery.com/removeAttr/

もちろん、これはセレクターのすべての要素に適用されます。これを要素0に適用するだけの場合は、次を使用します。

$(editor[i]).first().removeAttr('data-mce-style')
于 2012-10-17T12:56:59.057 に答える
1

element.setAttribute(attr、null) または element.removeAttribute

outerHTMLと置換の必要はありません。HTMLを置き換えると、イベントリスナー(属性イベントハンドラーを除く)が削除されることに注意してください。

于 2012-10-17T12:56:54.503 に答える
1
$(editor[i]).removeAttr('data-mce-style')​;​

フィドル

于 2012-10-17T12:57:43.267 に答える
0

特定の属性を変更/削除する必要があるため、使用する必要があります

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

詳細については、次のリンクを確認してください: http://api.jquery.com/removeAttr/

特定の属性の値を変更する必要がある場合は、次のようにします。

attr(attributeName, value);

同じことの詳細については、次のリンクを確認してください: http://api.jquery.com/attr/

于 2012-10-17T13:08:26.450 に答える
0

jQuery を使用してみてくださいremoveData():

$(editor[i]).removeData('mce-style');
于 2012-10-17T12:55:29.963 に答える