前回の投稿について質問があります
Oriol の回答は、テーブル構造間で html マークアップを分離するのに大いに役立ちます。
ただし、別の問題があります。
var project =[''];
$('#htmlData').contents().each(function(){
if($(this).is('table')){
//do something with table
project.push['end of table']; //this line of codes is the problem....
}else{
project[project.length-1] += (
this.nodeType === 3 ? $(this).text() :
(this.nodeType === 1 ? this.outerHTML : '')
);
}
});
for(var i=0; i<project.length; ++i){
project[i] = project[i].replace(/\s+/g,' ') // Collapse whitespaces
.replace(/^\s/,'') // Remove whitespace at the beginning
.replace(/\s$/,''); // Remove whitespace at the end
}
html
次のようなデータがあるとしましょう
<em>first part</em> of texts here
<table>
......
......
</table>
<em>second part</em> of texts
私のプロジェクト配列は次のようになります。
//2 elements
('<em>first part</em> of texts here','end of table <em>second part</em> of texts)
しかし、私の望む結果は
//3 elements
('<em>first part</em> of texts here','end of table','<em>second part</em> of texts)
end of table
array
セレクターloop
をマークアップする場合にプッシュするものtable
です。
どうすればこれを達成できますか? 助けてくれてありがとう!