0

我正在尝试删除杂散元素。有些没有classorid属性,他们专门有一个自定义元素也没有idorclass属性。但是,在某些情况下,自定义元素确实具有类名。

唯一应该保留的 P,只有文本或 Video 元素。

$("p:contains("$("getimage")")").remove();

有没有更好的方法来让它工作?

编辑

“getimage”是自定义标签。

<div class="ajaxPostText">
<p><getimage style="display:none;" height="360" width="640" src="http://localhost:8888/localTesting/wp-content/plugins/wp-o-matic/cache/687a91dca2_ku-xlarge.jpg" class="transform-ku-xlarge"></getimage></p>
<p>Movies are too long. Even film masterpieces can shave off a few minutes here and there so we can get off our butts, away from laptops, out of theaters, eyeballs off the TV a little bit earlier. So. How short can a movie be for you to get the gist of it? Can it be done in nine single frames?</p>
</div>
4

1 回答 1

3

这将删除所有没有 id 和 class 的 p 标签。还包括一个带有示例 getImage 标签的演示。

演示

$('p').not('[id],[class]').remove();

如果要删除容器内的所有元素。

$('*','.containerSelector').not('[id],[class]').remove();

对于您提供的具体示例,请尝试以下操作:- Demo

$('*', '.ajaxPostText').not('[id],[class]').remove();

更多过滤器:- 这将删除没有 id、没有类、没有文本的 p 标签。演示

$('p', '.ajaxPostText').not('[id],[class]').filter(function(){
     return  $.trim($(this).text()) === '' 
}).remove();
于 2013-05-13T04:05:43.193 回答