js怎么样删除指定内容的a标签啊

sinat_37552373 2018-02-01 05:19:15
<a href="#" class="tagtitle" title="11" >11</a>
<a href="#" class="tagtitle" title="12" >12</a>
<a href="#" class="tagtitle" title="13" >13</a>
<a href="#" class="tagtitle" title="14" >14</a>
<script>
var leng=document.getElementsByClassName('tagtitle').length;
var a=document.getElementsByClassName('tagtitle');
for (var i = 0; i < leng; i++) {
if(a[i].innerHTML=="12"){
}else{
a[i].innerHTML="";
}
}
</script>
我想把内容不等于12的a标签都删了,需要怎么修改啊
...全文
657 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky993 2018-02-02
  • 打赏
  • 举报
回复
引用 2 楼 sinat_37552373 的回复:
for (var i=0;i<leng;i++) { if(a[i].innerHTML=="12"){ }else{ a[i].parentNode.removeChild(a[i]); } 想再问下为什么顺着循环会出错
对于页面来说,每次你removeChild 的时候,你的a标签的数组都改变了, 也就是说,原本的数组是[11,12,13,14],i=0,remove一次之后就是[12,13,14],i=1,就直接跳到13了,恰好12对你没影响, remove 13过后,数组是[12,14],i=2了,找不到了,所以就报错
sinat_37552373 2018-02-02
  • 打赏
  • 举报
回复
for (var i=0;i<leng;i++) { if(a[i].innerHTML=="12"){ }else{ a[i].parentNode.removeChild(a[i]); } 想再问下为什么顺着循环会出错
天际的海浪 2018-02-01
  • 打赏
  • 举报
回复
var a=document.getElementsByClassName('tagtitle'); var leng=a.length; for (var i = leng-1; i >= 0; i--) { if(a[i].innerHTML=="12"){ }else{ a[i].parentNode.removeChild(a[i]); } }

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧