我在从XML文件中删除注释时遇到一些困难。
我已经看过这篇文章,但它对我不起作用
我有一个这样的结构:
<root>
<!--space -->
<space>
<content/>
</space>
<!--Time -->
<time>
<content/>
</time>
<root/>
这存在于我的代码中,作为使用 jquery parseXML 的 xmldocument。现在,如果我想删除"time"标签,我也想删除前面的"time"注释。我知道要选择此注释,我需要在根元素上使用"contains(("函数来列出标签和注释。然后一旦找到,我只需要使用"remove(("将其从我的xmldocument中删除。问题是它不起作用。我找到了内容,我使用"remove((",它没有返回任何错误,一切似乎都很好,但我仍然可以选择它。
所以我做了这样的事情:
var allTagsAndComments = $(XML.firstChild).contents();
我看到它将注释列为集合中的第一个元素。然后我在控制台中进行测试,方法是输入:
allTagsAndComments[0].remove();
不,错误,但评论仍然存在。有谁知道为什么?
好吧,似乎谜团已经解开了。
当我执行"remove(("时,它不会更新"content(("集合,但它会更新xmldocument。因此,如果我在删除后再次运行"content((",它将显示预期的元素。