gpt4 book ai didi

javascript - XML 使用 jQuery 删除文本不等于的元素

转载 作者:行者123 更新时间:2023-11-29 23:32:18 25 4
gpt4 key购买 nike

这是我的 Xml 示例:

<?xml version='1.0'?>
<rss version="2.0">
<channel>
<title>Some Title</title>
<pubDate>1/1/17 00:00:00</pubDate>
<generator>SomeOne</generator>
<item>
<title>
Some Item Title
</title>
<link>http://example.org</link>
<description>
Lorem ipsum ...
</description>
<pubDate>1/1/17 00:00:00</pubDate>
<category>Cat1</category>
<category>Cat2</category>
</item>
....
....
....
</channel>
</rss>

这是我试过的代码(rss 等于$('my xml data')):

var myCat = 'Cat1';
rss.find('item').find('category').find(':not(:contains('+ myCat +'))').parent().remove();

没有错误,但它返回空(在控制台中)并且也不执行任何操作。

最佳答案

问题是因为您在另一个 find() 中使用了 :not,因为您已经处于 类别元素。没有 child 可以过滤。您需要组合这两个选择器。以下任何一项都有效:

// #1
var myCat = 'Cat1';
rss.find('item').find('category:not(:contains('+ myCat +'))').parent().remove();

// #2
var myCat = 'Cat1';
rss.find('item').find('category').filter(':not(:contains('+ myCat +'))').parent().remove();

// #3
var myCat = 'Cat1';
rss.find('item:has(category:not(:contains('+ myCat +')))').remove();

// #4
var myCat = 'Cat1';
rss.find('item').find('category').not(':contains('+ myCat +'))').parent().remove();

可能还有更多,但希望您能理解。

关于javascript - XML 使用 jQuery 删除文本不等于的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46932506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com