데이터베이스에서 일부 markdown 텍스트를 받았습니다. 나는 HTML로이 가격 인하를 변환 Showdown.js을 사용하고 다음 가격 인하에 내장 된 코드가있을 때String to DOM to String
이var showdown = new Showdown.converter();
var str = showdown.makeHtml(myDatabaseString);
이 Showdown.js이 <pre><code>
태그에 잘 싸서, 그래서 str
는 다음과 같이 보일 수 있습니다
<p>Some text bla</p><pre><code>Some code</pre></code><p>Text again</p>
이제 SyntaxHighlighter을 사용하여 코드 조각을 강조 표시하는 구문으로 더 예쁘게 만들고 싶습니다. 결국에는 이전에 가지고 있던 모든 것을 포함하는 문자열을 다시 얻고 서식 지정을위한 추가 HTML을 얻는 것이 중요합니다.
$(str).each(function() {
// or can I select only pre within $(str) directly?
// everything I tried so far to do that failed miserably
if($(this).is('pre')) {
var code = $('code', $(this)).text();
// brush is my SyntaxHighlighter brush that I created earlier
$('code', $(this)).text(brush.getHtml(code));
// when I console.log($('code', $(this))) now, everything worked
// out perfectly
}
});
// but now I lost all my changes for some reason :-(
return str; // I need to return this as a string again
내가 올바른 방법 오전이에
내 접근 방식은 DOM을 조작 할 수있는 jQuery의 능력인가? 내 .each
루프 내에서 변경 한 사항을 유지하려면 어떻게해야합니까?
내 대답은 관련이있다. http://stackoverflow.com/questions/1878118/manipulating-the-data-from-ajax-success-functiondata/1878227#1878227 – jpsimons