javascript正则表达式在IE8中不起作用

时间:2012-06-21 16:08:00

标签: javascript regex internet-explorer

尝试在我的javascript函数中使用正则表达式替换td的内容。我正在使用这个...

var re = /<td id="idreplaceme">.+?<\/td>/gi;
oldDivContent = oldDivContent.replace(re,'<td id="idreplaceme"></td>');

这适用于FF和Chrome,但不适用于IE8。如何在IE8中完成这项工作?

编辑: OldDivContent是一个字符串

2 个答案:

答案 0 :(得分:3)

为什么不document.getElementById('idreplaceme').innerHTML = ''

答案 1 :(得分:0)

尝试稍微不同的正则表达式:

var re = /<td id="idreplaceme">[^<]+<\/td>/gi;
oldDivContent = oldDivContent.replace(re,'<td id="idreplaceme"></td>');

或假设律师不希望你发布oldDivContent的任何部分,这里有一个JavaScript函数代替正则表达式:

function removeContentOfIdentifiedTDs(content, id) {
    var d = document.createElement('div'),
        tr = {},
        td = {},
        i = 0;
    d.innerHTML = content; //add content to div
    td = d.getElementsByTagName('td');
    for (i = 0; i < td.length; i += 1) {
        if (td[i].id === id) { //if id matches
            td[i].innerHTML = ''; //remove content
        }
    }
    return d.innerHTML; //return original html minus removed content
}
removeContentOfIdentifiedTDs(oldDivContent, 'idreplaceme');
相关问题