如何使用javascript动态地将图像放入锚标签中

时间:2011-05-09 10:11:27

标签: javascript asp.net

我在javascript中动态创建了图像。我想将img放在一个锚标签中,我该怎么做?

        var element = document.createElement("img");
        element = cell.appendChild(element);
        element.setAttribute("src", "/Images/Delete.gif");

3 个答案:

答案 0 :(得分:7)

var anchor=document.createElement('a');
anchor.href='#';
var element = document.createElement("img");
element.setAttribute("src", "/Images/Delete.gif");
anchor.appendChild(element);
cell.appendChild(anchor);

我没有测试代码,我用我的大脑作为翻译,所以可能会有错误。但我认为你应该得到这个概念。

答案 1 :(得分:1)

element.setAttribute在你追加它之前,因为你将元素重新定义为我现在认为的单元格...或者不指定element = cell.append ..

var element = document.createElement("img");
element.setAttribute("src", "/Images/Delete.gif");
cell.appendChild(element);

我的建议是:

function insertImage(anchorID, imagesrc){
  var img = "<img src='" + imagesrc + "' alt='image' />";
  $("#"+anchorID).html($("#"+anchorID).html() + img);
}

我在html中添加html,以防你仍然想要保留任何文本..否则否定第二个html声明

你需要jQuery javascript插件才能正常工作.. http://docs.jquery.com/Downloading_jQuery

如果您不想包含插件,那么:

function insertImage(anchorID, imagesrc){
      var img = "<img src='" + imagesrc + "' alt='image' />";
      document.getElementById(anchorID).innerHtml = img;
    }

答案 2 :(得分:1)

您需要对锚标记(节点)的引用。我们说是a。由于AIMG是非常简单的html元素,因此可以正常使用:

a.innerHTML += '<img src="/Images/Delete.gif">';

或者,如果您要替换A代码的内容(而不是添加img),只需删除+

a.innerHTML = '<img src="/Images/Delete.gif">';

不能失败。在任何浏览器中。对于这么简单的东西(并且在下面会做同样的事情),jQuery太过分了。

修改
但它看起来你将img插入cell而不是锚标记...或者您的锚标记被称为cell?在这种情况下,只需将a.替换为cell. =)