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

发布于 2024-08-07 02:30:15 字数 651 浏览 4 评论 0原文

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

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

其他时候,它将如下所示:

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

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

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

否则,它将 pull:

$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)");
}

So, sometimes, my output will look like this:

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

Other times, it will look like this:

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

I'm trying to write some sort of "if" statement where, if the first p element in the markup surrounds an image tag, it will pull:

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

Otherwise, it will pull:

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

Alternatively, I could find all the img tags and if it's surrounded by

tags, remove those, but I'm not sure which one is better, or how to do either...

I tried the following, but it doesn't work:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深爱成瘾 2024-08-14 02:30:15

试试这个:(

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

实例)

Try this:

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

(Live example)

渡你暖光 2024-08-14 02:30:15

这将抓取不包含图像的段落,这适合您有限的示例:

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

您的实际标记可能会比这更复杂,但您可以对此进行许多变体。

This will grab the paragraph not containing an image, which fits your limited sample:

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

It's probably the case that your actual markup will be more complex than this but there are many variations on this that you could do.

倾城花音 2024-08-14 02:30:15

$('img').unwrap('p');

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

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

$('img').unwrap('p');

if you wish to remove the first parent element, just use .unwrap();

PS: note if u ara using jQuery in compability mode and if you need, change $ to $j

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文