如何用不带任何ID的Javascript替换列(表内)中的文本

如何用不带任何ID的Javascript替换列(表内)中的文本,javascript,html,replace,Javascript,Html,Replace,下面的代码显示了一个呈现的HTML(来自编译的ASP.Net代码)。我将无法对其进行任何更改,包括添加新属性,如ID 我仍然可以用Javascript做一些事情,但是因为该列没有唯一的ID,所以我无法用其他文本替换下划线文本“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 计划是用其他文本替换第3列中每行的下划线。有没有办法用Javascript识别第3列 多谢各位

下面的代码显示了一个呈现的HTML(来自编译的ASP.Net代码)。我将无法对其进行任何更改,包括添加新属性,如ID

我仍然可以用Javascript做一些事情,但是因为该列没有唯一的ID,所以我无法用其他文本替换下划线文本“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

计划是用其他文本替换第3列中每行的下划线。有没有办法用Javascript识别第3列

多谢各位

    <table width='100%'>
        <tr>
            <td align="left" valign="top" class='clsReadOnly'>Row 1
            </td>
            <td align="left" valign="top" class='clsReadOnly'>
                abc
            </td>
            <td align="left" valign="top" class='clsReadOnly'>
                __________________________
            </td>
        </tr>
        <tr>
            <td align="left" valign="top" class='clsReadOnly'>Row 2
            </td>
            <td align="left" valign="top" class='clsReadOnly'>
                def
            </td>
            <td align="left" valign="top" class='clsReadOnly'>
                __________________________
            </td>
        </tr>
        <tr>
            <td align="left" valign="top" class='clsReadOnly'>Row 3
            </td>
            <td align="left" valign="top" class='clsReadOnly'>
                ghi
            </td>
            <td align="left" valign="top" class='clsReadOnly'>
                __________________________
            </td>
        </tr>
    </table>

一排
abc
__________________________
第2排
def
__________________________
第3排
ghi
__________________________

这取决于你想完成什么。如果您的桌子总是这样,您可以执行以下操作:

var cells = document.getElementsByClassName('clsReadOnly');

cells[2].innerHTML = "Row1 Column3";
cells[5].innerHTML = "Row2 Column3";
cells[8].innerHTML = "Row3 Column3";
如果不知道要从多少列开始,则必须执行以下操作:

var rows = document.getElementsByTagName('tr');

for (var i=0; i<rows.length; i++) {
    var cells = rows[i].getElementsByTagName('td');

    cells[2].innerHTML = 'Row'+(i+1)+' Column3';
}
var rows=document.getElementsByTagName('tr');

对于(var i=0;i,这取决于您试图实现的目标。如果您的表始终是这样的,您可以执行以下操作:

var cells = document.getElementsByClassName('clsReadOnly');

cells[2].innerHTML = "Row1 Column3";
cells[5].innerHTML = "Row2 Column3";
cells[8].innerHTML = "Row3 Column3";
如果不知道要从多少列开始,则必须执行以下操作:

var rows = document.getElementsByTagName('tr');

for (var i=0; i<rows.length; i++) {
    var cells = rows[i].getElementsByTagName('td');

    cells[2].innerHTML = 'Row'+(i+1)+' Column3';
}
var rows=document.getElementsByTagName('tr');

对于(var i=0;i,如果这是页面上的唯一表,则可以使用jQuery执行此操作:

$('table')
    .children('tr')
    .each(function() {
        $(this).children('td:last').html('<p>A Paragraph of Text</p>');
    });
$(“表”)
.儿童(tr)
.each(函数({
$(this.children('td:last').html(“一段文本”

”); });
如果这是页面上唯一的表,您可以使用jQuery:

$('table')
    .children('tr')
    .each(function() {
        $(this).children('td:last').html('<p>A Paragraph of Text</p>');
    });
$(“表”)
.儿童(tr)
.each(函数({
$(this.children('td:last').html(“一段文本”

”); });
GetElementsByCassName()是HTML5,目前在IE中不受支持。以下是不需要jQuery的解决方案的JSFIDLE

var myTable = document.getElements('td');
for(var i=0; i<myTable.length; i++){
    if((i+1)%3 == 0)
        console.log(myTable[i].innerHTML);
}
var myTable=document.getElements('td');
for(var i=0;igetElementsByClassName()是HTML5,目前在IE中不受支持

var myTable = document.getElements('td');
for(var i=0; i<myTable.length; i++){
    if((i+1)%3 == 0)
        console.log(myTable[i].innerHTML);
}
var myTable=document.getElements('td');

对于(var i=0;i
getElementsByClassName()
在IE6、IE7或IE8中不受支持。
getElementsByClassName()
在IE6、IE7或IE8中不受支持。您应该将该代码放在此处,而不是JSFIDLE.net,用于posterity.true。posterity和readability使代码维护变得容易。您应该尝试mootools,而不是jquary,用于posterity和readability。您应该将该代码放在此处,而不是JSFIDLE.net,用于posterity.true.posterity和readabilityy使代码维护变得容易。为了后代和可读性,您应该尝试mootools而不是jquary。与:$('table>tr>td:last').html('p>一段文本

');@box9:您的代码是平滑的、可读的。但是,我的示例解析速度更快。使用像
.children()这样的jQuery函数
过滤和遍历DOM比依赖选择器引擎为您进行更高效。与:$('table>tr>td:last').html('p>一段文本

');@box9:您的代码平滑且可读。但是,我的示例解析速度更快。使用像
.children()这样的jQuery函数
过滤和遍历DOM要比依靠选择器引擎为您进行更高效。