当包含带有jquery的自定义元素时,删除没有类的div

时间:2013-05-13 04:00:10

标签: jquery

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

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

$("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>

1 个答案:

答案 0 :(得分:3)

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

Demo

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

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

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

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

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

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

$('p', '.ajaxPostText').not('[id],[class]').filter(function(){
     return  $.trim($(this).text()) === '' 
}).remove();