如何使用Javascript获取asp:表格单元格值?

如何使用Javascript获取asp:表格单元格值?,javascript,c#,asp.net,Javascript,C#,Asp.net,在我的aspx文件中,我定义了一个asp:table,如下所示。我想使用Javascript获取它的单元格内容。我该怎么做 test.aspx test.aspx中的Javascript部分 函数GetCellContents(){ var table=document.getElementById(“”); //在这里,我想以字符串数组的形式获取单元格内容 } 将cssclass添加到单元格中,然后可以使用getElementsByClassNameJavascript函数获取元素。我这

在我的aspx文件中,我定义了一个asp:table,如下所示。我想使用Javascript获取它的单元格内容。我该怎么做

test.aspx


test.aspx中的Javascript部分


函数GetCellContents(){
var table=document.getElementById(“”);
//在这里,我想以字符串数组的形式获取单元格内容
}

cssclass
添加到单元格中,然后可以使用
getElementsByClassName
Javascript函数获取元素。

我这样做:

var table = document.getElementById('<%=tableID.ClientID %>');
for (var i = 0; i < table.rows.length; i++) {
    //get first column (labels)
    var lblCtrl = table.rows[i].cells[0].childNodes[0];
    //get second column (textBoxes)
    var txtCtrl = table.rows[i].cells[1].childNodes[0];
    //check that the second column is a textBox
    if (txtCtrl.tagName == "INPUT" || txtCtrl.tagName == "SELECT") {
        alert(txtCtrl.value);
    }
    if (!(lblCtrl.tagName == "INPUT" || lblCtrl.tagName == "SELECT"))
    {
        alert(lblCtrl.innerHTML);
    }
}
var table=document.getElementById(“”);
对于(var i=0;i
var contents=[].slice.call(table.getElementsByTagName(“td”)).map(函数(el){return el.textContent;})-谢谢Ian,但它不起作用:(@Ian为什么不干脆
[].map.call(table.getElementsByTagName(“td”)、函数(el){return el.textContent;});
()而不是切片->映射?谢谢,这是正确的,但添加cssclass不是一个好主意,当每个单元格都有一个特定的cssclass时,您可以将cssclass添加到它们的父级,并在具有类的元素中找到td元素。此外,您可以为一个标记创建多个类,最后,在代码中我没有看到cssclass值。非常感谢。您的解决方案正在发挥作用。这个问题还有另一个解决方案,我将其作为答案附上。
<script type="text/javascript">
function GetCellContents() {
var table = document.getElementById('<%=tableID.ClientID %>');

//HERE I WANT TO GET CELL CONTENTS AS ARRAY OF STRING
}
</script>
var table = document.getElementById('<%=tableID.ClientID %>');
for (var i = 0; i < table.rows.length; i++) {
    //get first column (labels)
    var lblCtrl = table.rows[i].cells[0].childNodes[0];
    //get second column (textBoxes)
    var txtCtrl = table.rows[i].cells[1].childNodes[0];
    //check that the second column is a textBox
    if (txtCtrl.tagName == "INPUT" || txtCtrl.tagName == "SELECT") {
        alert(txtCtrl.value);
    }
    if (!(lblCtrl.tagName == "INPUT" || lblCtrl.tagName == "SELECT"))
    {
        alert(lblCtrl.innerHTML);
    }
}