2017-06-17 112 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>