목표는 체크 박스가 선택되지 않은 페이지를 제외한 모든 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의 문자열을 가지고있다.
업데이트 : 조금 더 익숙해졌지만, 뭔가 혼란스러워졌습니다. 또한 입력 및 버튼과 다른 클래스를 스트라이핑하여 올바른 작업을 수행하고 있지만 출력에 많은 중복이 포함되어 있다고 생각합니다. 음 ...
내가 업데이트 된 원래의 게시물 당신에게 더 많은 아이디어를 줄 수 있습니다. 나는 다른 것들을 제거해야합니다. 어쩌면 찾을 수 있습니다 ('*') 최고의 사용하지 않는가? – stabbie
방금 예제 (*)를 사용 했으므로 배열의 요소를 가져 와서 grep 메서드를 통해 구문 분석하면됩니다. 나는 당신의 HTML을 확신 할 수 없기 때문에 내가 도와 줄 수 없다. – Billybonks
나는 입력, 클래스, 텍스트 영역 등등의 목록을 grep하는 방법을 잘 모르겠다. – stabbie