javascript - 使用 getElementsByTag 更改表中的值

标签 javascript html-table

过去几天我一直在尝试这样做,但我的 Javascript 很糟糕。非常。

基本上,我试图完成的是获取 td 中的值,并检查 10 位数字的字符串。 (实际上,任何美国格式的电话号码。我已经想出了正则表达式。)我需要用其他东西(不是电话号码的东西)替换那个字符串。

表结构如下:

    <tr id="76">
        <td class="stxt">
            <div class="dtxt" id="t1344992123" title="14 Aug 12, 08:55 PM">17 mins ago</div>
            <span>
                <a title="Delete">[×]</a>&nbsp;
                <a title="Ban User">[o]</a>&nbsp;
            </span>
            <b class="nme pn_std">Person</b>
            : This is a line a user has said previously
        </td>
    </tr>

将有几行都具有相同的格式。它说“:这是用户之前说过的一行”是需要检查数字的地方。

我发布的表格格式是我必须使用的全部内容。无法添加,也无法删除任何标签/属性。

如果有人能够想出代码来检查和替换我正在搜索的每个实例,我可以自己插入正则表达式和替换字符串。

而且,如果有人好奇,这是用于 cbox 聊天的单词过滤器。它只是在有人加载聊天时运行的东西。

任何能帮助我的人都会很棒。就像我说的,我不擅长 Javascript。 PHP 是我使用的语言。

最佳答案

如果您不支持 IE8 以下的任何内容,您可以使用更新的 querySelectorAll。但在发表评论后,我想我会发表评论以支持旧方法。

//var tableCells = document.querySelectorAll('#tableId td'),
var tableCells = document.getElementsById('tableId').getElementsByTagName('td'),
i = tableCells.length;

while(i--){
    var thisCell = tableCells[i];
    thisCell.innerHTML = thisCell.innerHTML.replace(yourRegEx,yourReplacementStuff);
}

在有人讨论 regEx 和 HTML 之前,请记住他只是在这里查找电话号码,而不是用 regEx 解析 HTML。您可以在整个表格的 innerHTML 属性上使用 regEx,但我怀疑循环和咬掉较小的部分实际上可能更快。

关于javascript - 使用 getElementsByTag 更改表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963298/

相关文章:

javascript - 如何应用带过滤器的 ng-if 来过滤记录并在同一页面中呈现两个不同的 View ?

html - TD 高度的倍数

javascript - 在 TH 中按类排序表

html - 高度为 100% 的表格不适合父级大小

javascript - 在 HTML 表格的每个单元格中播放音频

c# - 如何向我的 C# Web 应用程序添加文件上传按钮?

javascript - Javascript 链式菜单的下拉显示问题

javascript - ng-model 仅在我嵌套相同的 Controller 时才有效?

javascript - 隐藏,显示使用 jquery

html - 如何让最右边的列填充剩余空间?