2

<div>行ごとにコンテンツを処理する必要があります。短縮された部分は次のようになります。

<div id='aoeu'>
    Ammonium NH%4^+ <br />
    Copper(I) Cu^+ <br />
    Gold(I) Au^+ <br />
    Rubidium Rb^+ <br />
    Acetone CH%3COCH%3 <br />
    Glycerin C%3H%5(OH)%3 <br />
</div>

Javascriptを使用して各行を個別に操作する必要があります。

4

2 に答える 2

5

「行」が改行文字で区切られていると仮定すると、次のようなことができます。

​var el = document.get​ElementById("aoeu"),
    content = el.innerHTML.replace(/  |^\s+|\s+$/g,""),
    lines = content.split("\n");

つまりinnerHTML、要素の を取得し、先頭と末尾の空白を削除してから、改行文字で分割します。

デモ: http://jsfiddle.net/RG2WT/

編集:<br>要素を追加したので(末尾のものは削除しますが):

var el = document.getElementById("aoeu"),
    content = el.innerHTML.replace(/^\s+|\s*(<br *\/?>)?\s*$/g,""),
    lines = content.split(/\s*<br ?\/?>\s*/);

つまり、 を取得しinnerHTML、先頭と末尾の空白と末尾の要素を削除し<br>てから、残りの各要素とその周囲の空白で分割し<br>ます。

デモ: http://jsfiddle.net/RG2WT/3/

どちらの方法linesでも、各要素が行の 1 つである配列になります。いずれにせよ、先頭と末尾の空白を削除して、たとえば最初の項目"Ammonium NH%4^+"" Ammonium NH%4^+ ".

于 2012-07-20T03:43:10.157 に答える
1

最初に innerHTML を取得し、var に割り当てます。var を取り、br を分割して配列を取得します。これで必要なことは何でも実行できます。

var contents = document.getElementById("aoeu").innerHTML;
var lines = contents.split("<br />");
// Do whatever you want with lines
于 2012-07-20T03:41:25.463 に答える