我使用下面的函数来创建图像。我发送了两个变量:一个用于图像的源链接,另一个用于嵌入表中的位置。实际上,我想首先创建一个div然后将图像保存在表格的“td”内,然后在div之后添加“br”标签,以便现有的“td”内容出现在下一行。
function createimage(src, k){
console.log("got source as "+src);
var img = document.createElement('img');
img.setAttribute('width','200px');
img.setAttribute('height','300px');
img.src = src;
img.setAttribute ('class', 'extarimages');
document.getElementById("#destination tr:eq(1) td:eq("+(k+2)+")").appendChild(img);
var mybr = document.createElement('br');
document.getElementById("#destination tr:eq(1) td:eq("+(k+2)+")").appendChild(mybr);
}
有人可以帮助我吗
答案 0 :(得分:0)
您将dom查询作为参数传递给document.getElementById(),这是不允许的。如果你想做dom查询,请使用jQuery或类似的javascript框架。
jQuery示例:
$img = $('<img>').attr('src', src).attr('width', '200').attr('height', '300');
$("#destination tr:eq(1) td:eq("+(k+2)+")").append($img);
答案 1 :(得分:0)
这就是我的方式:
使用Javascript:
function createimage(src, k){
console.log("got source as "+src);
var img= $(document.createElement('img'))
.prop('src', src)
.addClass("extarimages img-size");
var tableCell = $("#destination tr:eq(1) td:eq("+(k+2)+")");
$(tableCell).prepend(document.createElement('br'));
$(tableCell).prepend(image);
}
CSS:
.img-size {
width: 200px;
height: 300px;
}
注意:
您可以创建此新类,或只在现有的 extarimages 类中添加宽度和高度。
如果你使用&lt; JQuery 1.6使用 attr()而不是 prop()