如果父元素存在,如何删除?

时间:2009-10-04 02:52:29

标签: jquery tags element parent

因此,有时,我的输出将如下所示:

<p><img src="someimage.jpg" /></p>
<p>A new paragraph</p>

其他时候,它看起来像这样:

<img src="someimage.jpg />
<p>A new paragraph</p>

我正在尝试编写某种“if”语句,其中,如果标记中的第一个p元素包围图像标记,它将会拉动:

$j("p:eq(1)")

否则,它会拉:

$j("p:eq(0)")

或者,我可以找到所有的img标签,如果它被

标签包围,请删除它们,但我不确定哪一个更好,或者如何做...

我尝试了以下操作,但它不起作用:

if($j("img:eq(0)").parent().get(0).tagName == "p") {
      var pt = $j("p:eq(1)");
} else {
      var pt = $j("p:eq(0)");
}

3 个答案:

答案 0 :(得分:1)

试试这个:

var paragraphsWithoutImages = $('p').not(':has(img)')

Live example

答案 1 :(得分:1)

这将获取不包含适合您有限样本的图像的段落:

var pt = $("p:not(:has(img))");

可能的情况是你的实际标记会比这更复杂,但你可以做很多变化。

答案 2 :(得分:0)

$( 'IMG')解开( 'P');

如果你想删除第一个父元素,只需使用.unwrap();

PS:请注意,如果您在兼容模式下使用jQuery,如果需要,请将$更改为$ j