2016-12-20 1 views
0

나는 summernote를 사용하여 텍스트 영역의 내용을 꺼내 데이터베이스에 저장하려고합니다. 그러나 데이터베이스에 저장하기 전에 img base64의 광란을 제거하고 이미지 태그 소스를 대체합니다.parseHTML 이후 p 태그가 제거되는 이유는 무엇입니까?

그러나 텍스트 원본에서받은 원본 원본을 인쇄 할 때. var mytext = $('#myid').summernote('code'); 모두 괜찮아요. 내 단락과 이미지 (base64)를 보여줍니다.

하지만, 내가 jQuery를 사용하는 경우, parseHTML을 통해 그것을 실행하고 데이터를 다시 읽으려고, 나는 다음과 같은 결과를 얻을 :

var mymodedtxt = $(mytext).html(); - 난 단지 텍스트의 첫 번째 단락을 얻을 수 (콘솔에 인쇄)

$(mytext).children().prop('outerHTML'); - 수정 한 새 경로로 첫 번째 이미지 만 가져옵니다.

<img src="/path/to/22019_5859a7b13a78c.jpeg" /> 

인쇄하기 전에 이미지 경로를 수정하고 있습니다. 나는 단지 이것을하고있다 :

var i = 0; 
$(mytext).find('img').each(function() { 
    $(this).attr('src',newpath[i]); 
    i++; 
}); 

누군가는 이것을 일으킬 수있는 어떤 단서가 있습니까? 내 p 태그가 제거되는 이유는 무엇입니까?

답변

1

jQuery 컬렉션에서 .html()을 호출하면 컬렉션의 첫 번째 요소에 대한 HTML 만 반환됩니다.

HTML 요소를 컨테이너 요소로 묶어야합니다. a DIV 다음 HTML을 가져옵니다.

var mymodedtxt = $("<div>", { html: mytext }).html(); 
+0

감사합니다. 감사합니다. 매우 직관적이지는 않았지만 큰 jquery guy는 아니 었습니다.) - 투표하세요! – Rogelio

+0

정보를 반환하는 대부분의 jQuery 함수는 컬렉션의 첫 번째 요소에서만 정보를 반환합니다. – Barmar

관련 문제