1

サンプルソース:

 <div>      
            <br />
         <a name="IDATLQHE"></a>
        <h2 class="subhead" xmlns="">
         <div class="dummy">
             <div class="dummyy">
                <span>abcd</span>
            </div>

            <div class="dummyyy">
                <span>
                        <a title="google" href="http://google.com">google.com</a>
                </span>
          </div>                
        </div>
        </h2>       
    </div>

必要な出力:

<a>要素内の<div class="dummyyy"> 要素の内容を要素の内容に置き換えたい<div class="dummyy">

JavaScript の記述:

<script type="text/javascript">
    var divs = document.getElementsByClassName('dummy');
    for(var i = 0, len = divs.length; i < len; i++)
    {
        var div = divs[i],
        h2 = div.getElementsByClassName('dummyyy'),
        h3 = div.getElementsByClassName('dummyy');
        if(h2.length === 1)
        {
            var aa= h2[0],
            aaa=aa.getElementsByTagName('a');
            if(h2.length === 1 && h3.length === 1)
            {
                aaa[0].innerHTML = h3[0].innerHTML;
                h3[0].innerHTML=null;
            }
        }
    }

このスクリプトは Firefox では正常に動作しますが、IE では動作しません。

エラー:

 getElementsByClassName 
 aaa=aa.getElementsByTagName('a')

これについて誰でも助けることができますか?

ありがとう

4

2 に答える 2

3

getElementsByClassNameIE8 ではサポートされていません。IE7 のサポートが必要ない場合は、次のものに置き換えることができます。div.querySelectorAll(".dummyy")

于 2012-07-18T08:38:37.443 に答える
0

getElementsByClassName()IE8 以前を除く現在のすべてのブラウザで実装されています。IE8はサポートしていますquerySelectorAll()

于 2012-07-18T08:40:37.230 に答える