如何使用jQuery删除pertical类中除了一个标记之外的所有内容?
这可能是一个很奇怪的问题。但我想我会试一试的 除了一个具有特定类的标记外,是否有一种方法可以从主体中移除所有内容 在我的例子中,它是一个带有href的a标记 我需要“搜索”a标记,然后在DOM上只显示href标记,比如p标记如何使用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
<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方法发布一个答案——这比原来的方法要好得多。