有一个 div #allContent
,其中包含一些 div。我想将整个 #allContent
作为字符串返回,但删除其中包含的所有不可见的 div。
我想这可能可以通过 filter()
、:visible
和 contents()
的某种组合来实现,但我可以弄清楚具体怎么做。
最佳答案
var clone = $('#allContent').clone()
.appendTo('body')
.find(':hidden')
.remove()
.end()
.remove();
var content = clone[0].outerHTML || $('<div>').append(clone).html();
示例: http://jsfiddle.net/ChXPB/3/
编辑:将其更改为包含 outerHTML div。
编辑:将其大部分链接起来,并修复了 Firefox shim。
看来我们需要暂时将克隆添加到 DOM。
应该这样做:
$('#allContent').clone().find(':hidden').remove().end().html();
关于jquery - 将 div 作为字符串返回 - 但仅显示可见部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6887384/