Jquery 检查一个元素是否没有';不存在并附加它

Jquery 检查一个元素是否没有';不存在并附加它,jquery,Jquery,我想选择所有没有IMG标签的项目并附加它。我可以做到: 我该怎么做 <div class="test"> <div class="someDummydiv"></div> </div> <div class="test"> <div class="someDummydiv"></div> <img src="try.gif" /> </div>

我想选择所有没有IMG标签的项目并附加它。我可以做到:

我该怎么做

  <div class="test">
     <div class="someDummydiv"></div>
  </div>
  <div class="test">
     <div class="someDummydiv"></div>
     <img src="try.gif" />
  </div>
  <div class="test">
     <div class="someDummydiv"></div>
  </div>
  <div class="test">
    <div class="someDummydiv"></div> 
    <img src="try.gif" />
  </div>
  <div class="test">
     <div class="someDummydiv"></div>
  </div>
  <div class="test">
     <div class="someDummydiv"></div>
     <img src="try.gif" />
 </div>

结果-->



非常感谢

您可以使用一个选择器,使用and检查是否存在,并附加到and之后,如下所示:

$('.test:not(:has(img))').append('<img src="try.gif" />');
$('.test:not(:has(img))).append('');

只需更换
:not(:has(selector))
中的选择器即可查找所需内容。

您可以使用选择器,使用and检查是否存在,并附加到这些选择器,如下所示:

$('.test:not(:has(img))').append('<img src="try.gif" />');
$('.test:not(:has(img))).append('');

只需更换
:not(:has(selector))
中的选择器即可查找所需内容。

这应该很接近:

$('div.test').each(function () {
  var $this = $(this);
  if ($this.children('img').size() == 0) {
    $this.append('<img src=try.gif>');
  }
});
$('div.test')。每个(函数(){
var$this=$(this);
if($this.children('img').size()==0){
$this.append(“”);
}
});

这应该很接近:

$('div.test').each(function () {
  var $this = $(this);
  if ($this.children('img').size() == 0) {
    $this.append('<img src=try.gif>');
  }
});
$('div.test')。每个(函数(){
var$this=$(this);
if($this.children('img').size()==0){
$this.append(“”);
}
});

这真的很干净。我的方法也应该有效,并允许对没有图像的元素进行额外处理,但一行代码总是不错的真干净。我的方法也应该有效,并允许对没有图像的元素进行额外处理,但一行代码总是不错的