クラスのすべての子要素を解析する次の関数を作成しました。
function getBodyHTML(data){
var elements = "";
var content = $(data).find(".mw-content-ltr").children();
$(content).each(function(i, row){
if($(row).is("h2")){
elements = elements.concat("<h2 class="header2">Header 2 content is: "+($(row).text())+"</h1>");
}else if($(row).is("h1")){
elements = elements.concat("<h1 class="header1">Header 1 content is: "+($(row).text())+"</h1>");
}else if($(row).is("h3")){
elements = elements.concat("<h3>"+($(row).text())+"</h3>");
}else if($(row).is("p")){
elements = elements.concat("<p>"+$(row).text()+"</p>");
}
});
return elements;
}
その関数は、この種の html に必要なことを行います。
<h2 class="main-header">Some Text</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh. </p>
<p>euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat. Ut wisi enim</p>
<h1>Another text</h1>
<p>euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim</p>
しかし、HTML が次のようになると、全文を取得できません。
<h2 class="main-header">Some Text</h2>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh.
<h1>Another text</h1>
<p>euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim</p>
ご覧のとおり、h2の後の最初のテキストにはタグがありません。
タグなしでそのような種類のテキストを選択するには、関数にどの条件を追加する必要がありますか?
前もって感謝します!