Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript XML使用jQuery删除文本不等于的元素_Javascript_Jquery_Xml - Fatal编程技术网

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

Javascript XML使用jQuery删除文本不等于的元素,javascript,jquery,xml,Javascript,Jquery,Xml,以下是我的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> <

以下是我的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>

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

问题是因为您在另一个
find()
中使用了
:而不是
,这将无法工作,因为您已经处于
类别
元素的级别。没有孩子可供过滤。您需要合并这两个选择器。以下任何一项都有效:

/#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';
find('item:has(category:not(:contains('+myCat+'))))).remove();
// #4
var myCat='Cat1';
rss.find('item').find('category').not(':contains('+myCat+'))).parent().remove();
可能还有更多,但希望你能理解

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