0

我想替换标签的值

<h2>..</h2>

带有标签的内容

<h3>..<h3>

我是这样写剧本的,

<!DOCTYPE html>
<html>
<body>
<div>
            <h3><span><!-- Start Component Field: {"XPath":"tcm:Content/custom:Content/custom:addwidget[1]/custom:text[1]"} -->
                        <strong>Section Text</strong>
                    </span> </h3>

                <h2>
                        <a title="Google" href="http://google.com">google.com</a>
                    </h2>
            </div>  

        <script type="text/javascript">
        var x=document.getElementsByTagName("div");

        for (var i=0; i<x.length; i++) {
        var children = x[i].getElementsByTagName('h2');

        var demo= children["demo"].innerHTML;


        var childd =x[i].getElementsByTagName('h3');

        var all=childd["all"].innerHTML;



        children["demo"].childNodes[0].innerHTML=all;
        childd["all"].innerHTML=null;
        }

        </script>

</body>
</html> 

规则:

在上面的示例中,我想将“google.com”替换为<h3>标签中的文本。但我没有得到输出。

需要输出。

    <!DOCTYPE html>
<html>
<body>
<div>

                <h2>
                        <a title="Google" href="http://google.com">
                        <span><!-- Start Component Field: {"XPath":"tcm:Content/custom:Content/custom:addwidget[1]/custom:text[1]"} -->
                            <strong>Section Text</strong>
                        </span> 
                        </a>
                    </h2>
            </div>  


</body>
</html> 

我没有得到确切的输出。我使用了 for 循环,因为我想对每次出现的 div 标签都执行此操作。

任何人都可以研究它并建议如何纠正它。

谢谢。

4

2 回答 2

6

这应该很简单:

document.getElementById('demo').innerHTML = document.getElementById('all').innerHTML​;​

编辑:使用新的 HTML 代码,您可以像这样<h2>用 s 替换所有 s 。<h3>

var divs = document.getElementsByTagName('div');
for(var i = 0, len = divs.length; i < len; i++){
    var div = divs[i],
        h2 = div.getElementsByTagName('h2'),
        h3 = div.getElementsByTagName('h3');

    if(h2.length === 1 && h3.length === 1){
        h2[0].innerHTML = h3[0].innerHTML;
    }
}
于 2012-06-25T04:19:45.733 回答
0

jQuery解决方案:

$('#demo').html($('#all').html());
于 2012-06-25T04:19:44.213 回答