2017-01-27 1 views
1

私は、2つの画像を表示するために、innerHTMLを変更するために、HTMLとjavascriptに2つのdiv要素を持っています。DIVの中にある画像のアドレスを取得する方法は?

しかし、私はどのように私はそれを行うには、彼らのアドレスを取得したいですか?現在、私のメソッドは常に "未定義"を返します。以下は、私のコードは次のとおりです。

HTML:

<div id ="demo5" 
style=" 
    top: 45px; 
    left: 30px; 
    position: fixed; 
    z-index: 1; 
    visibility: show;"> 
</div> 


<div id ="demo6" 
style=" 
    top: 45px; 
    left: 55px; 
    position: fixed; 
    z-index: 1; 
    visibility: show;"> 
</div> 

Javascriptを:

var hand = [1.1,1.2,1.3,1.4,2.1,2.2,2.3,2.4,3.1,3.2,3.3,3.4,4.1,4.2,4.3,4.4,5.1,5.2,5.3,5.4,6.1,6.2,6.3,6.4,7.1,7.2,7.3,7.4,8.1,8.2,8.3,8.4,9.1,9.2,9.3,9.4,10.1,10.2,10.3,10.4,11.1,11.2,11.3,11.4,12.1,12.2,12.3,12.4,13.1,13.2,13.3,13.4] 


    a = Math.floor(Math.random() * 52) 
    b = Math.floor(Math.random() * 52) 
    do {b = Math.floor(Math.random() * 52)} 
    while (b==a) 


    var address1 = hand[a] + ".jpg" 
    var address2 = hand[b] + ".jpg" 


    var path = path || 'http://111.com/'; 
    document.getElementById("demo5").innerHTML = '<img src="' + path + address5 + '" >'; ; 
    document.getElementById("demo6").innerHTML = '<img src="' + path + address6 + '" alt = "">'; 

    function myFunction() { 
    var x = document.getElementById("demo5").src 
    document.getElementById("demo").innerHTML = x; 

}

+0

私が使用したコードは、getElementById( 'demo5')というコードを使用しているのですが、getElementsByTagName( 'img')[0] .src.split( "/")。pop()。split( "。")[ 0] – Frostless

答えて

0

私は、これはあなたが使用されている標準的なドラッグ&ドロップのコードであると仮定します。

function drag(ev) { 
    ev.dataTransfer.setData("text", ev.target.id); 
} 

function drop(ev) { 
    ev.preventDefault(); 
    var data = ev.dataTransfer.getData("text"); 
    ev.target.appendChild(document.getElementById(data)); 
} 

setDataプロパティを使用すると、特定のデータをドラッグイベントにアタッチできます。ドロップでgetData()関数を使用してそのデータを取得できます。

+0

答えに感謝しますが、私は実際にdivの中にあるimgのアドレスを取得したいと思っていました。 – Frostless

+0

@jindsay画像のアドレスをsetData関数で渡し、getData関数で受け取ることができます。 * ev.dataTransfer.setData( "address"、address1); * –

関連する問題