如何使用Javascript在表中查找空tr

如何使用Javascript在表中查找空tr,javascript,Javascript,我想在表中找到空的tr,有办法找到吗? 找到空行后,我想在其中插入一些数据。可能有更好的方法,我就是这么想的 $('tr').each(function() { if($(this).find('td').length == 0) { // empty tr // id of tr is available through this.id } }); 可能是这样的$('table tr:empty').html('..')假设您有以下html: <table id

我想在表中找到空的tr,有办法找到吗?
找到空行后,我想在其中插入一些数据。

可能有更好的方法,我就是这么想的

$('tr').each(function() {
  if($(this).find('td').length == 0) {
   // empty tr
   // id of tr is available through this.id
  }
});

可能是这样的
$('table tr:empty').html('..')

假设您有以下html:

  <table id=tbl>
    <tr><td>A</td><td>B</td></tr>
    <tr><td>A</td><td>B</td></tr>
    <tr><td></td><td></td></tr> <!-- this line is empty -->
    <tr><td>A</td><td>B</td></tr>
  </table>
var tables=document.getElementsByTagName('table');
var表=表[0];
var trs=table.getElementsByTagName('tr');
对于(变量i=0;i
我认为这不容易。你可以看到。
HTML:

使tr中的任何标记或文本而不是td中的任何标记或文本显示在表格前面。

你试过什么吗?例如,迭代行并查看textContent | | innerText?我不熟悉javascript,所以还不熟悉。空tr实际上是什么。。它是否有空的td元素或者根本没有子元素?他没有说他想要或者能够使用JQUERY他没有说他想要或者能够使用JQUERYJquery@reporter你说得对。我的坏。谢谢majid,但是现在我想把我的旧id内容添加到这个tr中,实际上,结构是这样的,在这个空tr中,我想用我的旧id添加新的td(这个id有数据),我不太确定我是否理解你想做什么,但是如果tr有一些id,你可以用
this.id
在每个函数中获得它。
var rows = document.getElementById('tbl').rows;
for (var i=0; i<rows.length; i++) {
   var txt = rows[i].textContent || rows[i].innerText;
   if (txt.trim()==="") rows[i].innerHTML="<td>Something</td>";
}
if(!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g,'');
  };
}
var tables = document.getElementsByTagName('table');
var table = tables[0];
var trs = table.getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
    if (trs[i].innerHTML === '') {
        console.log('EMPTY', trs[i]);
    } else {
        console.log('NOT EMPTY', trs[i]);
    }
}
<table id="table" style="border: 1px solid green;"><tbody>
    <tr id="empty"></tr>
    <tr id="withText"><font style="color: red;">text</font></tr>
    <tr id="withEmptyTd"><td></td></tr>
    <tr id="withTdWithText"><td>text</td></tr>
</tbody></table>
<div id="output"></div>  
var output = document.getElementById('output');
var table = document.getElementById('table');
var trs = table.querySelectorAll('tr');
var tr, id, text, tds, j, td, tdText;
for (var i = 0; i < trs.length; i++) {
    tr = trs[i];
    id = tr.id;
    output.innerHTML += "Getting tr[" + id + "]<br />";
    text = tr.innerHTML;
    output.innerHTML += "tr[" + id + "].innerHTML = \"" + text + "\" it's length = " + text.length + "<br />";
    tds = tr.querySelectorAll('td');
    output.innerHTML += "tr[" + id + "] have " + tds.length + " tds<br />";
    for (j = 0; j < tds.length; j++) {
        td = tds[j];
        tdText = td.innerHTML;
        output.innerHTML += "tr[" + id + "] -> td[" + j + "].innerHTML = \"" + tdText + "\" its length = " + tdText.length + "<br />";
    }
}  
Getting tr[empty]
tr[empty].innerHTML = "" it's length = 0
tr[empty] have 0 tds
Getting tr[withText]
tr[withText].innerHTML = "" it's length = 0
tr[withText] have 0 tds
Getting tr[withEmptyTd]
tr[withEmptyTd].innerHTML = "" it's length = 9
tr[withEmptyTd] have 1 tds
tr[withEmptyTd] -> td[0].innerHTML = "" its length = 0
Getting tr[withTdWithText]
tr[withTdWithText].innerHTML = "text" it's length = 13
tr[withTdWithText] have 1 tds
tr[withTdWithText] -> td[0].innerHTML = "text" its length = 4