divにdivがいくつか含まれています。 #allContent
全体を文字列として返したいが、内部に含まれている表示されていないdivをすべて削除する。divを文字列で返しますが、可視部分のみです
filter()
,:visible
、contents()
の組み合わせで実現できると思いますが、どうすればよいか正確には分かりません。
divにdivがいくつか含まれています。 #allContent
全体を文字列として返したいが、内部に含まれている表示されていないdivをすべて削除する。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/
EDIT:はouterHTMLのdiv要素が含まれるように、それを変更しました。
編集:ほとんどがチェーン化され、Firefox shimを修復しました。
一時的にクローンをDOMに追加する必要があるようです。
これはそれを行う必要があります。
$('#allContent').clone().find(':hidden').remove().end().html();
div#allContentの親コンテナが存在する場合、bodyに追加する必要はありませんか? – Ehtesham
@Ehtesham:ええ、最初にそれを含めるべきかどうかはわかりませんでしたが、そうすべきだと思われますので、Firefoxの修正で 'outerHTML'を使うように更新しました。 – user113716
var allContentsHtml = '';
$('#allContent div:visible')
.each(function() {
allContentsHtml += $(this).html();
}
);
$('#output').html(allContentsHtml);
あなたがHTMLマークアップ、または単にテキストコンテンツをしたいですか? – user113716
HTMLマークアップも – dmr
div#allContentのコンテナはありますか? – Ehtesham