如何使用jQuery删除特定类的一个标签的所有内容?

时间:2009-10-28 00:25:50

标签: jquery

这可能是一个非常奇怪的问题。但我以为我会试一试。

有没有办法从一个具有特定类的标签的身体中删除所有内容?

在我的情况下,它是一个带有href的标签。

我需要“捞出”一个标签,然后在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>

提前感谢您的帮助 此致

2 个答案:

答案 0 :(得分:4)

不确定这是否有效,但值得一试?

<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>

如果有效,请告诉我们,如果有的话,我会很好奇!祝你好运!

答案 1 :(得分:-1)

我无法想到这样做的任何方式。我认为一个更好的选择是抓取或编码JS中2个链接的值,删除正文中的所有内容,然后重新添加链接。也许不是最有效的,但通常人们不会删除所有内容在body标签内。

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