我有一个小文档,其中每个标签都有一个属性,例如
keep="true"
我如何遍历整个<body></body>
并删除这些没有设置此属性的标签的整个 innerHTML(也将它们本身删除)。
如果可能的话,我更喜欢使用 jQuery。
我有一个小文档,其中每个标签都有一个属性,例如
keep="true"
我如何遍历整个<body></body>
并删除这些没有设置此属性的标签的整个 innerHTML(也将它们本身删除)。
如果可能的话,我更喜欢使用 jQuery。
您可以将:not()选择器与Attribute Equals选择器结合使用:
$(":not([keep='true'])").remove();
或者甚至是一个简单的Has Attribute选择器,具体取决于您的标记语义:
$(":not([keep])").remove();
编辑:如果要删除匹配的元素但保留其内容,则可以将children()链接到unwrap()中:
$(":not([keep])").children().unwrap();
keep
不是有效属性,您可以使用data-*
属性并尝试:
$('*:not([data-keep="true"])').empty()
$('div:not([data-keep="true"])').empty()