将图像附加到没有 ID 或值的 td 元素
Append image to td element with no id or value
我有一个图像元素数组,我使用一个函数来随机化数组,我想将它们按随机顺序追加回 HTML table。但是我试图避免为每个 td 元素提供它自己的 id,因为有很多......我想知道是否可以将图像附加到没有 id 的 td 元素。
HTML table 大约有 12 行,如下所示:
<table class="piecetray">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
etc...
JS
function randomizePieces(myArray) {
for (var i = myArray.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
return array;
}
我相信这就是您正在寻找的基本思路。
$('#table').html(''); //clear the table
for(var x = 0, len = array.length; x < len; x++){ //fill the table
$('#table').append('<tr>');
$('#table').append('<td>' + array[x] + '</td>'); //can also add img tag here if you get the SRC for the image
$('#table').append('</tr>');
}
<table id="table"></table>
会是那样吗
$(document).ready(function(e) {
$.each($('.piecetray tr td'), function(index, value){
var img = $('<img />').attr('src', '').attr('title', index);
$(value).append(img);
});
});
假设 table 已经构建,并且您想遍历每个 td
并仅使用普通 js 更新它的背景。
// lets start by getting the `table` element
var tbl = document.getElementsByClassName("piecetray");
// lets get all the child rows `tr` of the `table`
var trs = tbl[0].childNodes[1].getElementsByTagName("tr");
var trlen = trs.length;
//just a test image
var host = "http://upload.wikimedia.org";
var img = host + "/wikipedia/commons/thumb/2/25/Red.svg/200px-Red.svg.png";
// iterate over the rows `tr`
for (var i = 0; i < trlen; i++) {
//get the `td`s for this row
var tds = trs[i].getElementsByTagName("td");
var tdlen = tds.length;
//iterate over the cells `td`
for (var n = 0; n < tdlen; n++) {
//set `backgroundImage`
tds[n].style.backgroundImage = "url(\"" + img + "\")";
}
}
查看 JSFiddle,希望这至少能为您指明正确的方向。
我有一个图像元素数组,我使用一个函数来随机化数组,我想将它们按随机顺序追加回 HTML table。但是我试图避免为每个 td 元素提供它自己的 id,因为有很多......我想知道是否可以将图像附加到没有 id 的 td 元素。
HTML table 大约有 12 行,如下所示:
<table class="piecetray">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
etc...
JS
function randomizePieces(myArray) {
for (var i = myArray.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
return array;
}
我相信这就是您正在寻找的基本思路。
$('#table').html(''); //clear the table
for(var x = 0, len = array.length; x < len; x++){ //fill the table
$('#table').append('<tr>');
$('#table').append('<td>' + array[x] + '</td>'); //can also add img tag here if you get the SRC for the image
$('#table').append('</tr>');
}
<table id="table"></table>
会是那样吗
$(document).ready(function(e) {
$.each($('.piecetray tr td'), function(index, value){
var img = $('<img />').attr('src', '').attr('title', index);
$(value).append(img);
});
});
假设 table 已经构建,并且您想遍历每个 td
并仅使用普通 js 更新它的背景。
// lets start by getting the `table` element
var tbl = document.getElementsByClassName("piecetray");
// lets get all the child rows `tr` of the `table`
var trs = tbl[0].childNodes[1].getElementsByTagName("tr");
var trlen = trs.length;
//just a test image
var host = "http://upload.wikimedia.org";
var img = host + "/wikipedia/commons/thumb/2/25/Red.svg/200px-Red.svg.png";
// iterate over the rows `tr`
for (var i = 0; i < trlen; i++) {
//get the `td`s for this row
var tds = trs[i].getElementsByTagName("td");
var tdlen = tds.length;
//iterate over the cells `td`
for (var n = 0; n < tdlen; n++) {
//set `backgroundImage`
tds[n].style.backgroundImage = "url(\"" + img + "\")";
}
}
查看 JSFiddle,希望这至少能为您指明正确的方向。