私の目標は、チェックボックスがオフになっているものを除いてページ上のすべての HTML を取得し、それをスクリプトに投稿することです。
要素のクラスである値を持つチェックボックスを持つことでこれを行います。たとえば、私のチェックボックスはテーブルの行にあり、それは...
必要なコンテンツはすべて #page_content 内にあります。コンテンツはコンテナであることを認識していないため、つまり、チェックボックスはテーブルの内側にあることを認識していないため、ラップできないため、ページ上のすべてを取得して、チェックされていない要素を削除する方が簡単だと考えました. そうすれば、私のマークアップは正しいです。
これを行うためにjQueryを使用していますが、正しくアプローチする方法がわかりません。私が念頭に置いている方法は、チェックされていないチェックボックスをすべて取得し、それらの値を変数「チェックされていない」に保存することです。
要素を取得できる outerHTML() 関数があり、それは html です。
その後私は
$('#export').click(function(e) {
e.preventDefault();
var uc, unchecked = [], html;
$('input:checkbox:not(:checked)').each(function() {
unchecked.push("." + $(this).val());
});
uc = unchecked.join(',') + ",.actions,input,button,.btn";
console.log(uc);
$('#page_content').find('*').not(uc).each(function() {
html += $(this).outerHTML();
});
console.log(html);
// $('#export-data').val(html);
// console.log($('#export-data').val());
});
それが終わるまでに、すべての HTML のこの文字列を取得します。
更新: もう少し作業を進めましたが、何かが得られましたが、タグが混在しています。また、入力やボタン、その他のクラスを取り除きたいので、正しくやっていると思いますが、出力には多くの重複があります。うーん....