2017-09-22 10 views
0

JavaScriptを初めて使用していて、クラス"copyme"のすべてのスパン要素からテキストをコピーし、逆順に並べ替えて文字列を連結しようとしています一緒に。私はこれを行うならば、私はここでid="copyhere"HTML要素の配列をループして配列に追加する

でdivタグにこの情報を含む段落を追加しようとしていますことは、私がこれまで持っているものだ:私はこれを行うとき

var copy= document.getElementsByClassName("copyme").innerHTML; 
    var arr = []; 
    for (x = 0 ; x < copy ; x++){ 
     arr.push(x); 
    } 
    arr.concat().reverse(); 
    document.getElementById('copyhere').innerHTML = arr; 

何も起こりません。

進め方についてのご意見はありますか?ありがとうございました。ここで

答えて

1

あなたが行く:

var copy = document.getElementsByClassName("copyme"); 
    var arr = []; 
    for (x = 0 ; x < copy.length ; x++){ 
     arr.push(copy[x].innerHTML); 
    } 
    arr.reverse(); 
    document.getElementById('copyhere').innerHTML = arr.join(""); 

ご質問がありましたら、お気軽に:)

+0

感謝を助けるかもしれませんあなたはvエリー多く! – Reed

+0

あなたは大歓迎です:) – Taurus

+0

単にコードを貼り付けるだけでは、何が起こっているのかを理解するのに役立つわけではありません。コードを修正するために何をしたのか、少し説明してください。たとえば、getElementsByClassNameが項目の配列/リストを返すときに、各項目を調べるときにinnerHTMLが発生する必要があります。 – twoleggedhorse

0

var copy= document.getElementsByClassName("copyme"); 
 
    var arr = []; 
 
console.log(copy) 
 
    for (var i = 0 ; i < copy.length ; i++){ 
 
     arr.push(copy.item(i).innerHTML); 
 
    } 
 
    arr.concat().reverse(); 
 
    document.getElementById('copyhere').innerHTML = arr;
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
    <div class="copyme">1</div> 
 
    <div class="copyme">2</div> 
 
    <div class="copyme">3</div> 
 
    <div id="copyhere"></div> 
 
</body> 
 
</html>

+0

あなたは配列を連結していません。 – Taurus

+0

良いキャッチ! :) toStringは、ブラウザがレンダリングしようとしているときに暗黙的に呼び出されます。これにより、配列のすべての要素をデフォルト( '、')セパレータで結合します。 –

+0

はい、 'toString'が呼び出されますが、より良いIMOの区切り文字を指定することができるので、' join'のようなメソッドを使うほうが良いです。それを指摘したかったのは、 "。" ":)"の代わりに終了すると、それは攻撃的なものになっている可能性があります:) – Taurus

0

これは

var copy= document.getElementsByClassName("copyme"); 
    var arr = []; 
    for (var x = 0 ; x < copy.length ; x++) { 
    arr.push(copy[x].innerHTML); 
    } 
    document.getElementById('copyhere').innerHTML = arr.reverse().toString(); 
関連する問題