Как я могу найти и заменить стиль в определенном теге HTML с регулярным выражением в JavaScript? - PullRequest
0 голосов
/ 02 января 2019

Как я уже упоминал в заголовке, как я могу изменить содержимое атрибута style внутри данного тега HTML?

например:

<table class="MsoTableLightShadingAccent1" border="1" cellspacing="0" cellpadding="0" style="margin-left: 45.9pt; border: none;">

У меня много таких HTML-кодов. Я написал RegEx, как это в js:

str = str.replace(/(<(?:table)[^<]*)(style="[^"]*")([^>]*>)/gi,'<table style="font-size:medium;">');

это может изменить табличный тег, но на самом деле я хочу удалить только "margin-left". Как я могу сделать это с JS?

Редактировать: я использую summernote. Когда пользователь вставляет текст, он запускает обратный вызов onPaste и очищает грязные теги и атрибуты.

1 Ответ

0 голосов
/ 02 января 2019

Вы не должны анализировать HTML с регулярным выражением, посмотрите этот знаменитый ответ .

JavaScript вполне способен делать то, что вы хотите, что-то вроде этого:

<div id="someID" style="height: 50px; width: 50px; background-color: red; margin-left: 50px;"></div>

<button type="button" onclick="document.getElementById('someID').style.marginLeft = 0;">Click Me!</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...