1

こんにちは私はJavaScriptで働いています。私のコードは次のとおりです。

<div id="myDiv" onClick="myfn()">
<img src="a.png">
<img src="b.png">
</div>

ボタンをクリックすると、画像のソースを取得して配列に保存したいと考えています。何か助けて???

myfn() {    
  var a = new Array(); 
  var mainDivData = document.getElementById('myDiv').innerHTML;
  var mainDivData2 = mainDivData.getElementByTag('src');

  for(var i =0 ; i<mainDivData2.length; i ++) {
    //a[i] = mainDivData2;
    alert(a[i]);
  }
}

しかし、アラートウィンドウが開かなくても、アラートには何も表示されません。何か助けて???

4

1 に答える 1

6

純粋な JavaScript ソリューション:

var imgs = document.getElementById("myDiv").getElementsByTagName("img"),
    arr = [];

for (var i = 0; i < imgs.length; i++) {
    arr.push(imgs[i].src);
}

console.log(arr);

jQuery ソリューション:

var arr = $("#myDiv img").map(function() {
    return this.src;
}).get();

console.log(arr);
于 2013-01-11T13:56:48.670 に答える