从HTML表中读取列中的文本

时间:2018-01-23 10:42:08

标签: javascript html html-table

我已经调试了一段时间,试图获取表中列的值。我想一旦我完成了这个,就应该很容易将下一列中的值传递给我的JS函数。

我的HTML表格是:

<table id="country_LE_table" style = "display:none">
    <tr>
      <td>Japan</td>
      <td>83.7</td>
    </tr>
    <tr>
      <td>Switzerland</td>
      <td>83.4</td>
    </tr>
</table>

我的Javascript是:

<script type="text/javascript">
        function getLifeExpectancy() {
        var Country = "<?php echo $Country ?>";
        document.write(Country); // this gets read OK
        var table = document.getElementById("country_LE_table");
        var tr = table.getElementsByTagName("tr");
        document.write(tr.length); document.write("<br>"); // works as expected

        for (var i = 0; i < tr.length; i++) {

            document.write(tr[i].innerHTML); document.write("<br>"); // works well up to here
            // the following doesn't work
            var td = tr[i].getElementsByTagName("td")[0];
            if (td = Country) { //need td.fullHTML/value/fullText?
                return tr[i].getElementsByTagName("td")[1]; // return the number
            }
            document.getElementById("demo").innerHTML = getLifeExpectancy();
</script>

如果我document.write(td),我会在页面上显示"[object HTMLTableCellElement]" 如果我document.write(td.fullHTML),我会在页面上显示"undefined"

当我探索除td.innerHTML以外的其他方法时,我得到了这个 - 看起来我不能使用基于文本的函数。

It looks like I can't use text-functions to get the contents of the row/column element.

1 个答案:

答案 0 :(得分:1)

请改用它。你使用了赋值运算符而不是比较运算符“==”

if (td.innerHTML == Country)
    {
    }