我正在为将图像附加到<td>
-element的问题而苦苦挣扎。不幸的是,我无法向您展示完整的jsfiddle(值计算相当复杂),但是我希望一些代码片段足够了。
表结构:
var table = createElement('table');
var header = table.createTHead();
var row = header.insertRow(0);
var cell0 = row.insertCell(0);
cell0.innerHTML = "Indikator"
var cell1 = row.insertCell(1);
cell1.innerHTML = "In dieser Region"
var cell2 = row.insertCell(2);
cell2.innerHTML = "Alle Regionen: Höchster Werte"
var cell3 = row.insertCell(3);
cell3.innerHTML = "Alle Regionen: Niedrigster Werte"
var cell4 = row.insertCell(4);
cell4.innerHTML = "Alle Regionen: Durchschnitt"
var cell5 = row.insertCell(5);
cell5.innerHTML = "Bewertung";
tbody = table.appendChild(document.createElement('tbody'));
然后,我使用一个for循环,在其中创建表的其余部分:
for (var key in values) {
//...
//method to calculate some values
...
//append values to tbody
$(table).find(tbody).append("<tr>");
$(table).find(tbody).append( "<td>"+(indicatorValue)+"</td>");
$(table).find(tbody).append( "<td>"+(regionValue)+"</td>");
$(table).find(tbody).append( "<td>"+(bestValues)+"</td>");
$(table).find(tbody).append( "<td>"+(worstValues)+"</td>");
$(table).find(tbody).append( "<td>"+(average)+"</td>");
$(table).find(tbody).append( "<td>"+ createIndicator(picIdentifier));
}
所有方法都可以正常工作,但最后一部分(用于引用图像源的createIndicator(picIdentifier))存在一些问题。
function createIndicator(state) {
var img = document.createElement('img');
if (picIdentifier == 'green') {
img.src = "img/green_circle.png";
} else {
img.src = 'img/red_circle.png';
}
return img;
}
出现我的问题:不会创建图像,但仅[object HTMLImageElement]
针对应在其中放置图像的每个单元格进行说明。您可以在这里检查它:http : //imgur.com/WAtplY7
我已经尝试了一些变通办法,但结果是,将通过使用$(table).find(tbody).append(createIndicator(picIdentifier));
创建图像,但与此同时,我没有在表格单元格中创建图像。在此处检查外观,网址为:http : //imgur.com/7POq3wn
从您那里获得一些提示会很棒:)
我希望这会起作用,不要去起作用
var img = "<img src='img/green_circle.png' />";
if(picIdentifier != 'green')
{
img = "<img src='img/red_circle.png' />";
}
$(table).find(tbody).append( "<td>"+ img +"</td>");
您不能返回该元素,它将始终返回对象,因此可以将其附加在函数中或使用我的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句