我正在尝试删除杂散元素。有些属性没有class
或id
属性,他们专门拥有自定义元素,但没有id
或class
属性。但是,在某些情况下,自定义元素确实具有类名。
应该保留的唯一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>
答案 0 :(得分:3)
这将删除没有id和class的所有p标签。还包含带有示例getImage标记的演示。
$('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();