1

画像を含む div があり、内側の画像のすべてのタイトルをマウスオーバーで表示したいと考えています。

だから、私はこのようなものを持っています:

<div id=MyDiv onmouseover="highlight(this);">

そして私のJavaScript:

function highlight(element) {     

        for (var i = 0; i < element.children.length; i++) {
            if (element.children[i].tagName == "IMG")
                element.children[i].title.show();
        }
    }

しかし、私が得るのはメッセージだけです - オブジェクト "X"にはメソッドshowがありません。

4

2 に答える 2

2

プレーンな JavaScript を使用しています。titleは文字列であり、メッセージが示すように、メソッドはありませんshow

ポップアップ内のすべてのタイトルを警告したい場合は、次のようにすることができます。

function highlight(element) {     

        for (var i = 0; i < element.children.length; i++) {
            if (element.children[i].tagName == "IMG")
                alert(element.children[i].title);
        }
    }

一方、それらをページに表示したい場合は、次のようなものが必要です。

function highlight(element) {     
        var outputelement = document.getElementById("idofsomeelementyouhaveonyourpage");
        for (var i = 0; i < element.children.length; i++) {
            if (element.children[i].tagName == "IMG")
                outputelement.innerHTML += element.children[i].title;
        }
    }

もちろん、2 番目の方法でonmouseoutは、タイトルも非表示にするハンドラーが必要です。

于 2013-05-28T11:34:23.587 に答える