我在javascript中动态创建了图像。我想将img放在一个锚标签中,我该怎么做?
var element = document.createElement("img");
element = cell.appendChild(element);
element.setAttribute("src", "/Images/Delete.gif");
答案 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
。由于A
和IMG
是非常简单的html元素,因此可以正常使用:
a.innerHTML += '<img src="/Images/Delete.gif">';
或者,如果您要替换A
代码的内容(而不是添加img),只需删除+
:
a.innerHTML = '<img src="/Images/Delete.gif">';
不能失败。在任何浏览器中。对于这么简单的东西(并且在下面会做同样的事情),jQuery太过分了。
修改强>
但它看起来你将img
插入cell
而不是锚标记...或者您的锚标记被称为cell
?在这种情况下,只需将a.
替换为cell.
=)