-3

javascript関数で正規表現を使用してtdの内容を置き換えようとしています。私はこれを使用しています...

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

これはFFとChromeで機能しますが、IE8では機能しません。IE8でこれを機能させるにはどうすればよいですか?

編集:OldDivContentは文字列です

4

2 に答える 2

3

なぜだめですかdocument.getElementById('idreplaceme').innerHTML = ''

于 2012-06-21T16:13:20.460 に答える
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');
于 2012-06-21T16:12:14.280 に答える