我的目標是獲取頁面上的所有HTML,除非複選框未選中並將其發佈到腳本。獲取除頁面以外的所有html
我這樣做是通過複選框的值是一個元素上的類。例如,我的複選框在表格中連續排列,並且...
我想要的所有內容都在#page_content內。由於內容並不知道它是容器 - 也就是說複選框不知道它在表格內部,所以不能包裝它,我認爲在頁面上獲取所有內容並刪除未被選中的元素會更容易。這樣我的標記是正確的。
我正在使用jQuery來做到這一點,但我不知道如何正確處理它。我想到的方式是獲取所有未經檢查的複選框,並將它們的值存儲到變量'unchecked'中。
我有一個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的此字符串。
更新:工作多一點,我得到的東西,但它是混合標籤。此外,我想剝離輸入和按鈕和其他類,所以我認爲我做的是正確的,但輸出有很多重複。嗯....
我更新了原來的職位給你更多的想法。我需要剝去一些其他的東西。也許find('*')不是最好用的東西? – stabbie
我剛剛以(*)爲例,你需要做的就是獲取數組中的元素並通過grep方法解析它。我不確定你的HTML,所以我不能幫你與 – Billybonks
我不太清楚如何grep了一些東西 - 輸入,類,textareas等 – stabbie