0

マウスオーバーでプレーンな JavaScript を使用して、任意の画像の src を取得しようとしています。

// Retrieve image URL.
document.getElementsByTagName('img').onmouseover = getURL();

function getURL() {
    var URL = this.getAttribute('src');
}

これらの画像を ID にバインドすることはできず、getElementById だけです。DOM を変更せず、jQuery を使用せずに画像を取得する必要があります。getElementsByTagName が配列を取得するように見えます。この関数を機能させるにはどうすればよいですか? ありがとう。

4

2 に答える 2

1

.getElementsByTagName()のような配列であるノードリストを返します。各イメージにイベント ハンドラーを追加するか、イベント デリゲーションを使用する必要があります。

var imgs = document.getElementsByTagName('img')
for(var i = 0; i < imgs.length; i++) {
   imgs[i].onmouseover = getURL;
}
于 2013-11-10T19:59:30.897 に答える
0

配列を返すため、取得する配列インデックスを指定する必要があります。これにより、ページで見つかった最初の img タグに onmouseover 関数が適用されます。

// Retrieve image URL.
document.getElementsByTagName('img')[0].onmouseover = getURL;

function getURL() {
    var URL = this.getAttribute('src');
}

そして、これをページ上のすべての画像に適用するには:

var images = document.getElementsByTagName('img');
for (var i = 0; i < images.length; i++)
{
   images[i].onmouseover = getURL;
}
于 2013-11-10T19:59:17.810 に答える