如果父级不存在,则换行元素

时间:2015-05-28 05:54:38

标签: jquery html5

您好,我想开发一个简单的代码,如果该元素不存在,我将允许我包装父元素。非常感谢提前!

在:

<div class="wrapper"><img src="#"></div>

后:

<div class="wrapper"><figure><img src="#"></figure></div>

更新: 我认为我需要的是一个能够识别标签是否具有的if语句。如果它有它而不是添加它,但如果它没有添加它。希望更清楚。

3 个答案:

答案 0 :(得分:2)

您可以使用查找所有img Child Selector ("parent > child"),然后使用$.fn.wrapAll()

 $('.wrapper > img').wrapAll('<figure />');

根据评论,我认为你需要这个

&#13;
&#13;
$(function() {
  $('img').each(function() {
    var _this = $(this);
    if (_this.parent('figure').length == 0) {
      _this.wrap('<figure >');
    }
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
  <img src="#" />
</div>
<img src="#" />
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用直接子选择器>来定位作为div的直接子节点的img元素。然后使用.wrap()与数字元素:

$('div > img').wrap('<figure></figure>');

<强> Working Demo

答案 2 :(得分:1)

要检查256是否有父img,您可以使用.wrapper循环显示所有图片并检查each是否为parent

.wrapper

演示:https://jsfiddle.net/tusharj/sv0xze3z/1/