2017-06-17 22 views
0

我剛剛開始學習Javascript,我正在嘗試使用它來更改錨標記的HTML。我寧願不按每個ID做這件事,因爲我最終會有一些相同的錨,所以我想用一個班級來做。簡單的JavaScript查詢

<div class="testing2"> 
      <a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="wpc-customize-product">Customize</a> 
     </div> 

     <script type="text/javascript"> 

      var test = document.getElementsByClassName('testing2'); 
      var anchors = test.getElementsByTagName('a'); 
      if (anchors[0]) { 
       anchors[0].innerHTML="Blank"; 
} 


     </script> 

問題是,使用一個ID,但在使用該類時不我什麼時候才能使這項工作 - 我收到錯誤遺漏的類型錯誤:test.getElementsByTagName不是一個函數。

我錯過了什麼?

+0

你將不得不使用'for'循環或'test' [0]。 getElementByClass返回一個數組 –

回答

1

您可以簡單地使用querySelector實現這個作爲

document.querySelectorAll('.testing2 a')[0].innerHTML 
0

這裏的問題是,test包含一個數組,但你不叫它爲一體。

var anchors = test[0].getElementsByTagName('a'); 
0

首先你需要querySelectorAll('.testing2 a')選擇元素中的所有元素a帶班.testing2

第二,你需要一個foreach循環來遍歷選擇的所有元素和工藝更新innerHTML來空白。

<div class="testing2"> 
 
    <a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="wpc-customize-product"> Customize1</a> 
 
    <a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="wpc-customize-product"> Customize2</a> 
 
    <a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="wpc-customize-product"> Customize3</a> 
 
    <a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="wpc-customize-product"> Customize4</a> 
 
</div> 
 

 
<script type="text/javascript"> 
 
    var testing2 = document.querySelectorAll('.testing2 a'); 
 
    Array.prototype.forEach.call(testing2, function(el) { 
 
    el.innerHTML = "Blank"; 
 
    }); 
 
</script>