Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
如何使用jQuery删除pertical类中除了一个标记之外的所有内容?_Jquery - Fatal编程技术网

如何使用jQuery删除pertical类中除了一个标记之外的所有内容?

如何使用jQuery删除pertical类中除了一个标记之外的所有内容?,jquery,Jquery,这可能是一个很奇怪的问题。但我想我会试一试的 除了一个具有特定类的标记外,是否有一种方法可以从主体中移除所有内容 在我的例子中,它是一个带有href的a标记 我需要“搜索”a标记,然后在DOM上只显示href标记,比如p标记 <body> <a class="avatar_user_name" href="/product/xyz">Title</a> ...other body tags and text <a class="avatar_use

这可能是一个很奇怪的问题。但我想我会试一试的

除了一个具有特定类的标记外,是否有一种方法可以从主体中移除所有内容

在我的例子中,它是一个带有href的a标记

我需要“搜索”a标记,然后在DOM上只显示href标记,比如p标记

<body>
 <a class="avatar_user_name" href="/product/xyz">Title</a>

...other body tags and text

<a class="avatar_user_name" href="/product/abc">Title</a>
</body>

…其他正文标记和文本
因此我需要这样的东西

<body>
<p>xyz</p>
<p>abc</p>
</body>

xyz

abc

谢谢你事先的帮助
关于

我想不出任何办法来做这件事。我认为更好的选择是抓取或编码JS中2个链接的值,删除正文中的所有内容,然后将链接添加回。也许不是最有效的,但通常人们也不会删除body标签中的所有内容


另一个选项是在body标记中的所有其他内容周围添加标记(如果页面结构与问题中的示例一样简单)。此标记不需要是格式化标记,但可以是带有ID的范围。在这种情况下,您只需删除此标记内的所有内容。

不确定这是否可行,但值得一试吗

<script type="text/javascript>
$(document).ready(function() {

    // obtain list of links
    var a = [];
    $('a.avatar_user_name').each(function(i,e) {
        a[i] = $(this).attr('href');
    });
    // build up a new page
    $('body').empty();
    for (var i = 0, j = a.length; i < j; i++) {
        $('body').append('<p>' + a[i] + '</p>');
    } 
});
</script>

哇,我真的很惊讶。这很好用!非常感谢你!很好-不知道空方法。我正在考虑使用not选择器和remove方法发布一个答案——这比原来的方法要好得多。