我有这个jQuery代码:

var $collapsibleProducts = $('.collapsible-body');
if ($collapsibleProducts.length != 0) {
  $.each($('.collapsible-body'), function (i) {
    if ($('.collapsible-body')[i].children.length === 0) {
      $('.collapsible-body')[i].append("<span class='something'>something</span>")
    }
  });
}


但是我只能进入div.collapsible-body这个字符串"<span class='something'>something</span>"而不是带有'something'字符串的html <span>标记。

this (image)

我做错什么了吗?还是有另一种方法?

最佳答案

无需检查长度(jQuery很容易做到这一点),并且每种类型使用的类型都不正确。您正在使用the general iterator,而jQuery具有a special iterator for jQuery objects

var $collapsibleProducts = $('.collapsible-body');

$collapsibleProducts.each(function(i, el) {
  if ($(el).children().length === 0) {
    $(el).append("<span class='something'>something</span>");
  }
});

09-07 20:51