Javascript - 获取所有表 - > tr值

Irf*_*run 7 javascript html-table

<table>
  <tr><td>foo</td></tr>
  <tr><td>bar</td></tr>
  <tr><td>abc@yahoo.com</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何写一个Javascript行只抓住下表中的电子邮件地址,我一直在搜索,但我遇到的是在td中的任一表中使用"id"的教程..我我想在没有身份证的情况下这样做..请帮助

Mat*_*att 14

var rows = document.getElementsByTagName("table")[0].rows;
var last = rows[rows.length - 1];
var cell = last.cells[0];
var value = cell.innerHTML
Run Code Online (Sandbox Code Playgroud)

亲自尝试一下:http://jsfiddle.net/ReyNx/.

显然你必须改变document.getElementsByTagName("table")[0]以适当地匹配你的桌子

如果您使用的是jQuery,则更容易:

var value = $('table tr:last td').text();
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅MDN DOM参考,该参考显示哪些元素可用于遍历DOM的元素.


Cer*_*rus 11

没有jQuery,innerHtml或其他邪恶/重型函数,只是简单的旧JavaScript:

// Get the first table in the document.
var table = document.getElementsByTagName('table')[0];
// Get the third row of this table (0-index 3rd = 2)
var emailRow = table.rows[2];
// Get this element's content.
var emailContent = emailRow.firstChild.textContent;
Run Code Online (Sandbox Code Playgroud)

你可以写一行:

var emailContent = document.getElementsByTagName('table')[0].rows[2].firstChild.textContent;
Run Code Online (Sandbox Code Playgroud)

如果要查找表中的所有电子邮件地址:

var emails = [];
var table = document.getElementsByTagName('table')[0];
var rows = table.rows;
for (var i = 0; i < rows.length; i++) {
    var rowText = rows[i].firstChild.textContent;
    if (~rowText.indexOf('@')) { // If the content of the row contains a '@' character (This could be replaced with a regex check)
            // Also, I personally prefer to use '~' over '> -1' for indexOf(), but both would work.
        emails.push(rowText);
    }
}
console.log(emails);
Run Code Online (Sandbox Code Playgroud)

工作实例


Ahm*_*ais 5

如果像我一样,您想从页面上所有表格的所有第一列项目中获取文本,请使用它。

jQuery('table tr td').each( function( cmp ) { 
    console.log( jQuery(this).text() ); 
} );
Run Code Online (Sandbox Code Playgroud)