javascript - 使用 JavaScript 导航 html 表

标签 javascript html-table

下面是 HTML 的片段。我正在尝试为包含“Bananas”的标签的背景着色。

<frame src="blah" name="navigation">
    <table id="menu">
        <tbody>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                    Apples
                                </td>
                                <td>
                                    <input class="button">
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                    Bananas
                                </td>
                                <td>
                                    <input class="button">
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                    Carrots
                                </td>
                                <td>
                                    <input class="button">
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>
    </table>
</frame>

这是我的 JavaScript:

var t = navigation.document.getElementById("menu");
var trs = t.getElementsByTagName("tr");
var tds = null;

for (var i=0; i<trs.length; i++)
{
    tds = trs[i].getElementsByTagName("td");
    for (var n=0; n<trs.length;n++) {
        if(tds[n].innerHTML == "Bananas") {
          tds[n].bgcolor="#FF0000";
       }
    }
}

说实话,即使在第二行,它也很绊脚,所以我显然做错了什么。谁能建议一种有效的方法来做到这一点?

最佳答案

这应该可以完成工作:

var table = document.getElementById('menu');
var tds = table.querySelectorAll('td');

for (var i = 0; i < tds.length; i++) {
  var td = tds[i];
  if (td.innerHTML.trim() === 'Bananas') {
    td.style.backgroundColor = 'red';
  }
}

关于javascript - 使用 JavaScript 导航 html 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41231333/

相关文章:

javascript - 如何知道我在 html 表(日历)中的位置?

android - Android 6 上的表格行未采用 100% 宽度

html - 如何使用外部 css 将 <td> 设为新行?

javascript - 将JSON导入到html(表格)过滤结果

javascript - htaccess 中的查询字符串导致 404 错误

javascript - 如何将对象传播到 JavaScript 中的类属性中

javascript - 正则表达式的三个点?

javascript - 如何让移动的物体保持在Leaflet的中心?

javascript - 什么时候应该使用setScriptTimeout?

html - Twitter-bootstrap 3. 在 Opera 中悬停后,一行表格失去边框