简单JavaScript查询
我刚刚开始学习Javascript,目前正在尝试使用它来更改锚定标记的HTML。我不希望每个ID都这样做,因为我最终会有几个相同的锚,所以我想用一个类来做简单JavaScript查询,javascript,function,class,Javascript,Function,Class,我刚刚开始学习Javascript,目前正在尝试使用它来更改锚定标记的HTML。我不希望每个ID都这样做,因为我最终会有几个相同的锚,所以我想用一个类来做 <div class="testing2"> <a href="http://802.f5f.myftpupload.com/11550-2/design/11544/" class="wpc-customize-product">Customize</a>
<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>
var test=document.getElementsByClassName('testing2');
var archors=test.getElementsByTagName('a');
如果(锚定[0]){
锚定[0]。innerHTML=“Blank”;
}
问题是,我可以在使用id时执行此操作,但在使用类时无法执行此操作-我收到错误Uncaught TypeError:test.getElementsByTagName不是函数
我缺少什么?您只需使用
querySelector
即可实现这一点
document.querySelectorAll('.testing2 a')[0].innerHTML
这里的问题是
test
包含一个数组,但您没有将其作为一个数组调用
var anchors = test[0].getElementsByTagName('a');
首先,您需要
querySelectorAll('.testing2 a')
来选择class元素中的所有a
元素。testing2
第二,您需要一个forEach循环来遍历所有选定的元素,并将innerHTML更新为空
var testing2=document.queryselectoral('.testing2 a');
Array.prototype.forEach.call(testing2,函数(el){
el.innerHTML=“Blank”;
});
必须使用进行循环或测试
[0]。getElementByClass返回一个数组