【发布时间】:2018-01-19 15:43:38
【问题描述】:
我们将不胜感激。对于新开发人员来说,这里的信息太多了
我正在尝试创建一个像这样创建的动态表:
function myFunction2() {
var img = new Image();
var table = document.getElementById("Table1");
var row = table.insertRow(table.length);
for (i = 0; i < 12; i++) {
row.insertCell(i);
}
//Add Txt
row.insertCell(1).innerHTML = "insert";
//Add Images
var Sport = document.createElement("IMG");
Sport.setAttribute("src", "Images/ball.png");
Sport.setAttribute("div", "Sport");
row.insertCell(0).appendChild(Sport);
//Add drop-down list
var dd = document.createElement("select");
dd.name = "SportSelector";
dd.id = "id" + document.getElementById('Table1').rows.length;
dd.options[dd.length] = new Option("Soccer", "value1");
dd.options[dd.length] = new Option("Basket", "value2");
dd.options[dd.length] = new Option("Hockey", "value3");
dd.setAttribute("onchange", "GetSport(this)");
row.insertCell(1).appendChild(dd);
//Done
}
到目前为止一切顺利,但现在我被困在尝试调整表格大小并且我不知道如何做到这一点。现在我正在尝试调整应该只包含一个图标的 Col(0)。
我尝试给它命名为“Sport”,并且在 CSS 中有这样的:
Sport {
width: 20 px;
margin-right: 30%;
border: 1px solid #000;
}
但这不起作用。任何指向我需要做什么的指针都会很棒?
编辑:
好的,所以我接受了 Ivan86 的建议,我有几个问题?
看起来您的编辑破坏了我的代码的另一部分
function GetSport(val) {
var x = val.id;
var x = x.replace("id", "");
var table = document.getElementById("Table1")
table.rows[x - 1].cells[0].innerHTML = "<img src='Images/ball.png'/>";
//alert("The input value has changed. The new value is: " + val.id);
}
此代码还应该根据下拉列表中的选择更改 img 文件。关于如何修复的任何建议?
你的这部分建议我没有添加:
<table id="Table1">
<tr>
<td colspan="12">OLD ROW</td>
</tr>
</table>
<br/>
<input type="button" onclick="myFunction2()" value="add a new row" />
并且txt“插入”不应该是代码的任何部分,我更新为:
function myFunction2()
{
var img = new Image();
var table = document.getElementById("Table1");
var row = table.insertRow(table.length);
// make a cell array
var cells = [];
for (i = 0; i < 13; i++)
{
// add the cell to the table and to the cell array
cells.push(row.insertCell(i));
}
//Add Txt
//Add Images
var Sport = document.createElement("IMG");
Sport.setAttribute("src", "Images/ball.png");
Sport.setAttribute("height", "20px");
Sport.setAttribute("width", "20px");
cells[0].appendChild(Sport);
// to add class
cells[0].classList.add('Sport');
// to add CSS to the first cell
cells[0].style.width = '15px';
// create margin-right effect
cells[1].style.padding = '0 0 0 0px';
//Add drop-down list
var dd = document.createElement("select");
dd.name = "SportSelector";
dd.id = "id" + document.getElementById('Table1').rows.length;
dd.options[dd.length] = new Option("Soccer", "value1");
dd.options[dd.length] = new Option("Basket", "value2");
dd.options[dd.length] = new Option("Hockey", "value3");
dd.setAttribute("onchange", "GetSport(this)");
cells[1].appendChild(dd);
//Done
}
请参阅CodePen 上 frederik (@frederik84) 的 Pen My project。
【问题讨论】:
-
你添加图片的东西正在制作这个
<img src="Images/ball.png" div="Sport"></img>是故意的吗? -
将类添加到 img 不是我的意图,而是添加到单元格中
标签: javascript html css html-table styles