0

こんにちは、javascript の特定の div の下にあるすべての画像にアクセスしたいです。私のコードは次のとおりです。

<div id="image-container" style="background-image:url(loading.gif)">
        <div class="fade-box" id="image-1"><a href="javascript:GoNext();"><img src="2bscene-logo.gif" alt="" width="330" height="108" border="0" /></a></div>
        <div class="fade-box" id="image-2" style="display: none;"><a href="javascript:GoNext();"><img src="streetgallery-logo.gif" alt="" width="330" height="108" border="0" /></a></div>
        <div class="fade-box" id="image-3" style="display: none;"><a href="javascript:GoNext();"><img src="g4m-logo.gif" alt="" width="330" height="108" border="0" /></a></div>
</div>

私のjsコードは次のとおりです。

var image_slide = new Array('image-1', 'image-2', 'image-3');

事前定義された配列を持たずに、動的にDIV基づいてすべての s を取得したい。idどうやってやるの?

4

2 に答える 2

1

純粋なJavaScriptで、次を試すことができます:

var arr = document.querySelectorAll('#image-container img');
for(var i=0;i<arr.length;i++){
    console.log(arr[i].getAttribute('src'))
}

querySelectorAll をサポートするブラウザーで。(IE8以降、IE7以降ではなく、他の最新バージョン。) - TJ Crowderのコメントで述べたように

于 2012-12-11T09:15:38.157 に答える
0

JavaScript を使用すると、これを DOM で簡単に行うことができます。

var container = document.getElementById("image-container");
var child;
var image_slide = [];
for (child = container.firstChild; child; child = child.nextSibling) {
    if (child.id && child.nodeName === "DIV") {
        image_slide.push(child.id);
    }
}

実例| ソース

上記のコードは、要素が既に DOM にある後に実行する必要があることに注意してください。それを確実にする最善の方法は、タグをページ内のそれらの下に配置することです (終了要素が適切でscriptある直前)。</body>

于 2012-12-11T09:15:55.560 に答える