2016-05-04 8 views
-1

私は、これは私のコードで同じidを持つ多くのdivのHTMLコンテンツを取得したいしてください:複数のdivのHTMLコンテンツを取得する方法

<div id="my_div">This is content I</div> 
<div id="my_div">This is content J</div> 
<div id="my_div">This is content P</div> 
<div id="my_div">This is content Z</div> 

そして、これは私のjQueryのコードです:

document.getElementById('my_div').innerHTML; 

しかし、それは私に1つのdivの内容を与えるだけです。例:This is content I。これは私が本当に欲しいものですThis is content IThis is content JThis is content PThis is content Z。コードを実行するにはどうしたらいいですか?

+2

複数のdivに同じIDを割り当てることはできません。 Idは一意でなければなりません。 idの代わりに、クラス – Apb

+0

を使用すると、各divに異なるIDを使用するか、classNameまたはdata-attrを使用してこれを行うことができます。 –

+0

不正なマークアップ。 'id属性はHTML要素の一意のIDを指定します(値はHTML文書内で一意でなければなりません)。 –

答えて

1

すべてのdivに同じクラスを追加します。それらの一つ一つを取得するために、その値によって

<div class="my_div">This is content I</div> 
<div class="my_div">This is content J</div> 
<div class="my_div">This is content P</div> 
<div class="my_div">This is content Z</div> 

とループ:classの代わりidを使用するようにHTMLを変更

<div class="my_div">This is content I</div> 
<div class="my_div">This is content J</div> 
<div class="my_div">This is content P</div> 
<div class="my_div">This is content Z</div> 

var str =""; 
$(".my_div").each(function() { 
    str = str + $(this).html() + " "; 
}) 
alert(str) 
1

スタートで:

<div class="my_div">This is content I</div> 
<div class="my_div">This is content J</div> 
<div class="my_div">This is content P</div> 
<div class="my_div">This is content Z</div> 

その後.my_divのセレクタにjQueryの.eachを使用しています。 Dhara Parmarからの回答を参照してください。

$(".my_div").each(function(index) { 
    console.log(index + ": " + $(this).html()); 
}); 

最後にループで連結します。

0

:これを試してみてください:

function showDivValues(){ 
    var length = document.getElementsByClassName('my_div').length; 

    for(var i = 0; i < length; i++){ 
     console.log(document.getElementsByClassName('my_div')[i].innerHTML); 
    } 
}