2016-06-29 6 views
0

でのdocument.getElementByIdを介してデータを取得する方法を私はこのラインでのJavaプログラムスクリプト

(function() { return (document.getElementsByClassName('two')[0].innerHTML); })(); 

に、このように文を書いた

document.getElementsByClassName('two')[0].innerHTML 

は、クラス名を使用してデータを返す= "2 "同じクラス名の同じHTMLページに別のクラスがあります。私はそのデータも返されることを望みます。このコードを変更する方法、plzはこのコードでは私のコードをIEでこの機能を埋め込む方法、このような私は コードを書かれている例えば

<html> 
<body> 
    <div id="one"> 
     welcome 
     <div class="two"> 
      hello world 
     </div> 
     <div class="two"> 
      bye world 
     </div> 
    </div> 
    <button onclick="myFunction()"> 
    Click</button> 
    <p id="demo"></p> 
    <script> 
     function myFunction() { 
      var x = document.getElementsByClassName('two'); 
      var mapped = [].map.call(x, function(el) { 
       return el.innerHTML; 
      }); 
      document.getElementById('demo').innerHTML = mapped.join(','); 
     } 
    </script> 
</body> 
</html> 

私を助けて

(function() { return (document.getElementsByClassName('two')[0].innerHTML); })(); 
+0

'(function(){myFunction();})(? – pawel

+1

JavaはJavaScriptとは関係ありません。 –

答えて

0

アクセスするには同じクラス名を持つ他の要素の場合は、getElementsByClassName()のインデックスを変更できます。

function myFunction() { 
    var twos = []; 
    var elements = document.getElementsByClassName("two"); 

    for (i = 0; i < elements.length; i++) { 
     twos.push(elements[i].innerHTML); 
    } 

    return twos; 
} 

をそしてあなたはインデックスで要素にアクセスすることができます:あなたはそれらを介して両方の要素(この場合はすべての要素)、することができますループを返し、文字列配列の内部でそれらを返すようにしたい場合は

var foo = myFunction(); 
console.log(foo[0]); // 'hello world' 
console.log(foo[1]); // 'bye world' 
関連する問題