2

我正在尝试对each()克隆的元素进行操作,

var html = $(this).clone().html();

html.find('.class').each(function () {
    $(this).removeClass('class-to-remove');             
});

console.log(html);

但是当我var html在控制台中看到它时,它会显示以前的值,而不是each()完成后的值。

请告诉我如何在each()完成的地方获取 var。

4

1 回答 1

4

的返回值.html()是一个字符串。在这种情况下,你最好不要调用它;只需使用来自的返回值.clone()

var cloned = $(this).clone();
cloned.find('.class').each(function() {
  $(this).removeClass('whatever');
});

console.log(cloned.html());

另请注意,.html()获取其操作数的内容,因此不会显示外部“外壳”。

于 2013-10-05T13:05:32.360 回答