如何获取DIV内部图像的地址?

时间:2017-01-27 14:21:50

标签: javascript html drag-and-drop

我在html中有2个div元素,然后是javascript来改变他们的innerHTML以显示两个图像。

但如果我想得到他们的地址怎么办?目前我的方法总是返回" 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;

}

1 个答案:

答案 0 :(得分: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属性将特定数据附加到拖动事件。您可以通过dropData中的getData()函数获取该数据。