Как удалить свойство type = "text / css" из строки? - PullRequest
0 голосов
/ 11 июля 2019

Используемая библиотека (@ loadable / server) возвращает <style type='text/css'> <my styles here> </style>, и я хотел бы удалить оттуда type='text/css'.

Причина в том, что валидатор W3C выдает предупреждение:

Атрибут type для элемента style не требуется и должен быть пропущен

Я пытаюсь удалить его с помощью регулярных выражений, но безуспешно, поскольку это необработанная строка.

function getInlineStyleTags() {
   <some logic here>
   ...
   return `<style type='text/css' data-chunk='${asset.chunk}'>${data}</style>`
}
styleTags = getInlineStyleTags()

Я ожидаю удалить из своей переменной styleTags type='text/css' с помощью регулярных выражений или другого подхода.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Просто замените строку styleTags на ''

styleTags=styleTags.replace(`type='text/css'`,'')
1 голос
/ 11 июля 2019

Я не знаю, почему вы хотите это сделать, но я предполагаю, что простое replace будет работать:

var styleWithoutAttr = styleTags.replace("type='text/css'", '')

И если вы хотите обрабатывать возможность простых или двойных кавычек, вы можете сделать:

var styleWithoutAttr = styleTags.replace("type=['\"]text/css['\"]", '')
...