2017-01-27 13 views
1

У меня есть два элемента div в html, а затем javascript, чтобы изменить их innerHTML для отображения двух изображений.Как получить адрес изображения, находящегося внутри DIV?

Но если я хочу получить их адрес, как мне это сделать? В настоящее время мои методы всегда возвращают «undefined». Ниже мой код:

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

спасибо за ответ, но я действительно хотел получить адрес img, который находится внутри div, я изменил вопрос, чтобы было легче читать. – Frostless

+0

@jindsay Вы можете передать адрес изображения в функции setData и получить его в функции getData. * ev.dataTransfer.setData ("адрес", адрес1); * –