0

我有一个像这样的三行 GridView

<tr>
   <th>SlNo</th>
</tr>
<tr>
   <td>1</td>
</tr>
<tr>
   <td>2</td>
</tr>

我有以下代码遍历行

var GridViewRow=GridView.getElementsByTagName('tr')

这里的行长是 3。

我遍历了GridViewRow使用 for 循环。这里我将如何获取当前元素的标签名称,即 ( th or td)。

如果标记名是“ TH”,它应该返回,如果是“ TD”,它应该取 TD 的值。

4

3 回答 3

0
var GridViewRow = GridView.getElementsByTagName('tr');
$(GridViewRow).each(function() {
   var $this = $(this), td = $this.find('td');
   if (td.length === 1) {
      console.log(td.text());
   }
});

如果你使用 jquery,这适用<tr>于你只有一个<td>,否则在纯 javascript 中试试这个:

var GridViewRow = GridView.getElementsByTagName('tr'),
    len = GridViewRow.length,
    td;

    while (--len) {
       td = GridViewRow[len].getElementsByTagName('td');
       if (td.length === 1) {
           console.log(td[0].innerHTML);
       }
    }   
});
于 2012-04-10T07:21:45.570 回答
0

这个怎么样

var table = document.getElementById("mytab1"); 
for (var i = 0, cell; cell = table.cells[i]; i++) {      
//iterate through cells      
//cells would be accessed using the "cell" variable assigned in the for loop 
} 

你也可以试试

var tbl = document.getElementById('yourTableId'); 
var rows = tbl.getElementsByTagName('tr'); 
for (var i = 0; i < rows.length; i++) 
{     
    if(rows[i].getElementsByTagName('td').length > 0)
    {
      //code to execute
    }
    else
    {
      continue;
    }
}
于 2012-04-10T07:22:10.533 回答
-1

您可以使用 jQuery 检查标签名称:

$(this).attr("tag");

后期编辑:

对于原始 javascript,使用tagName

element.tagName
于 2012-04-10T07:29:32.167 回答