jquery - 将 div 作为字符串返回 - 但仅显示可见部分

标签 jquery html

有一个 div #allContent,其中包含一些 div。我想将整个 #allContent 作为字符串返回,但删除其中包含的所有不可见的 div。

我想这可能可以通过 filter():visiblecontents() 的某种组合来实现,但我可以弄清楚具体怎么做。

最佳答案

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/

相关文章:

javascript - 动态数组到本地存储/jstorage?

javascript - 如何检测 "<section>"的 20% 是否可见?

JavaScript/html : parsing JSON response

html - 无法使用 CSS 将图像扩展到浏览器高度的 100%

javascript - jquery - 根据文本输入改变图像

javascript - 如何使用 $.ajax 在使用 jquery 加载的内容中包含 javascript

javascript - jQuery Flyin 效果不居中

ajax - 使用 jquery 加载消息

jquery - 简单滚动内容 ID 不显示 iframe 内容

html - 将 <div> 元素强制放到 2 行上