如何用 <b></b> 标签替换 <strong></strong> 标签到特定的 div?

前任:

<div id="aaa">hello<b>wow</b>!</div>

使用 javascript 替换为
<div id="aaa">hello<strong>wow</strong>!</div>

请帮忙!提前致谢。

***** 为什么我要尝试将输出 HTML 代码 <b></b> 更改为 <strong></strong> ,以便获得 W3C 验证。我可以那样做吗? **

或者是否有任何解决方案可以使用 ASP.NET+C# 来做到这一点?

最佳答案

干得好:

var root, elems;

root = document.getElementById( 'test' );
elems = root.getElementsByTagName( 'b' );

toArray( elems ).forEach( function ( elem ) {
    var newElem = document.createElement( 'strong' );
    newElem.textContent = elem.textContent;
    elem.parentNode.replaceChild( newElem, elem );
});

其中 toArray 是您首选的类似数组的数组转换器函数。我用这个:
function toArray( arrayLike ) { return [].slice.call( arrayLike ); }

现场演示: http://jsfiddle.net/mJSyH/3/

注意:此代码在 IE8 中不起作用。

10-06 07:55