我希望将字符串中的所有html标记与RegEx /<[^>]*>/g
但有些标签的属性为“&gt;”在<div :if="x > 1">
等值中,结果只能获得<div :if="x>
。
如何修改RegEx以解决此问题?
实际上,我不需要匹配所有真正有效的html标签。我只需要将所有<***>
与'&gt;'匹配不得引用。
答案 0 :(得分:1)
如果你有解析的HTML,你可以使用document.querySelectorAll
的css选择器来执行为你找到元素的操作。
'[\\:if*=\\>]'
使用转义字符\\
您可以直接搜索标记名:if
,使用*=
选择器可以找到>
(已转义)属性值的任何位置。
我和@JonathanLowowski就此而言。属性名称:if
看起来不正确,可能会在IE中失败。但它看起来像没有命名空间的命名空间属性。
const elements = document.querySelectorAll('[\\:if*=\\>]')
console.log(elements)
<div :if="x > 1"></div>
<div :if="x"></div>