在JavaScript函数中为td指定ID
Assigning an ID to a td within a JavaScript function
我已经将一个xml文件转换为一个HTML表。我使用的函数在这里:
document.write("<table><tr><td>ALPHA</td><td>BRAVO</td><td>CHARLIE</td><td>DELTA</td><td>
ECHO</td><td>FOXTROT</td><td>GOLF</td><td>HOTEL</td></tr>");
var x = xmlDoc.getElementsByTagName("List");
for (i = 0; i < x.length; i++)
{
document.write("<tr><td>");
document.write(i) //populates the ALPHA column
document.write("</td><td>");
document.write(x[i].getElementsByTagName("BRAVOITEMS")[0].childNodes[0].nodeValue);
document.write("</td><td>")
document.write(x[i].getElementsByTagName("CHARLIEITEMS")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("DELTAITEMS")[0].childNodes[0].nodeValue);
document.write("</td><td></td><td>");
document.write(x[i].getElementsByTagName("FOXTROTITEMS")[0].childNodes[0].nodeValue);
document.write("</td><td></td><td></td></tr>");
}
document.write("</table>")
该表显示了我想要的内容,我计划稍后添加ECHOITEMS、GOLFITEMS和HOTELITEMS。
我的问题是,为了进一步进行,我需要为上面的每个td分配id,这样我就可以从表中提取数据。我能够分配一个ID到一个正常的HTML td,但我在上面的JavaScript代码中挣扎。我需要为每个td添加一个ID,该ID由一个短字符串后跟I号组成。例如,使用上面的前几行代码:
var x = xmlDoc.getElementsByTagName("List");
for (i = 0; i < x.length; i++)
{
document.write("<tr id='tdalpha'+ i><td>");
document.write(i)
document.write("</td><td id='tdbravo' + i>");
document.write(x[i].getElementsByTagName("BRAVOITEMS")[0].childNodes[0].nodeValue);
等。显然语法是不正确的,当我尝试:
var test = document.getElementById('tdalpha24')
document.write(test)
我得到一个错误信息。
关于如何正确地做这件事有什么建议吗?
你可以这样做-
for (i = 0; i < x.length; i++)
{
document.write('<tr id="tdalpha'+i'"><td>');
document.write(i)
document.write('</td><td id="tdbravo'+i+'">');
document.write(x[i].getElementsByTagName("BRAVOITEMS")[0].childNodes[0].nodeValue);
.....
在我之前几乎所有人都注意到:"不要使用document.write"。在大多数情况下,它被认为是糟糕的技术。如果你还想用它,创建一个大字符串并使用document。只写一次。它将提高性能。就像这样:
var str = '<table><tr><td>ALPHA</td><td>BRAVO</td><td>CHARLIE</td><td>DELTA</td><td>ECHO</td><td>FOXTROT</td><td>GOLF</td><td>HOTEL</td></tr>';
for (var i = 0; i < x.length; i++) {
str += '<tr id="tdalpha'+i'"><td>';
str += i;
str += '</td><td id="tdbravo'+i+'">';
str += x[i].getElementsByTagName("BRAVOITEMS")[0].childNodes[0].nodeValue);
str += '</td><td>';
str += x[i].getElementsByTagName("CHARLIEITEMS") [0].childNodes[0].nodeValue;
str += '</td><td>';
str += x[i].getElementsByTagName("DELTAITEMS")[0].childNodes[0].nodeValue;
str += '</td><td></td><td>';
str += x[i].getElementsByTagName("FOXTROTITEMS")[0].childNodes[0].nodeValue;
str += "</td><td></td><td></td></tr>";
}
str += '</table>';
document.write(str);
PS和你的'i'变量对我来说是全局的
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- 在jstree中,如何将指定的节点集中到大型树上
- 为复选框javascript指定两个值
- 正在获取生成的PHP td值
- 如何在td元素中添加监听器
- 如何首先设置样式<td>表中包含在窗体中的元素
- 多维数据集网格未在指定的分区中绘制
- javascript对象操作:根据指定条件选择属性
- 使用javascript获取表的td值
- 如何捆绑commonjs模块,除非指定需要
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- 从指定范围创建字符数组
- d3.js圆的半径是否可以由样式属性指定
- tu如何将id放在填充了json数据的html表td上
- 通过指定类更改表格td边框颜色
- 在指定的td中查找输入字段的特定值
- 从<td>对行id指定的同一表行执行计算
- 在JavaScript函数中为td指定ID