2012-07-18 48 views
1

樣品來源不工作:的getElementsByTagName和getElementsByClassName方法在IE8

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

輸出需要:

我想,以取代與<div class="dummyy">元素的內容的<div class="dummyyy">元素<a>元素的內容。

的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') 

可以在此任意一個幫助。

謝謝

回答

3

getElementsByClassName不支持IE8。如果您不需要IE7支持,則可以用div.querySelectorAll(".dummyy")

+0

謝謝你的解決方案。但我仍然得到aaa = aa.getElementsByTagName('a')中的錯誤 – Patan 2012-07-18 11:33:56

+0

你能幫到這個 – Patan 2012-07-18 11:34:05

+0

錯誤:沒有這樣的方法存在 – Patan 2012-07-18 11:34:26

0

getElementsByClassName()替換它,除IE8和更早版本之外的所有當前瀏覽器均可實現。 IE8支持querySelectorAll()

相關問題