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> 

ルール:

<h3>上記の例では、「google.com」をタグ内のテキストに置き換えたいと考えています。しかし、出力が得られません。

出力が必要です。

    <!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> 

正確な出力が得られません。div タグが出現するたびに実行したいので、for ループを使用しました。

誰でもそれを調べて、それを修正する方法を提案できますか。

ありがとう。

4

2 に答える 2

6

これは次のように簡単です。

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

EDIT<h2> : 新しい HTML コードを使用すると、すべての 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 に答える