javaScript - 循环内多种情况的条件判断写法

使用场景

对数组进行循环判断,有多种条件需要判断,然后对符合所有条件的那一项数据进行操作

案例如下

使用querySelectorAll可以获取页面所有a 标签数组,然后对符合条件的a 标签进行处理

在这里插入图片描述

代码实现

<!DOCTYPE HTML>
<html>
<body>

  <a name="list">The list:</a>
  <ul>
    <li><a href="http://google.com">http://google.com</a></li>
    <li><a href="/tutorial">/tutorial.html</a></li>
    <li><a href="local/path">local/path</a></li>
    <li><a href="ftp://ftp.com/my.zip">ftp://ftp.com/my.zip</a></li>
    <li><a href="http://nodejs.org">http://nodejs.org</a></li>
    <li><a href="http://internal.com/test">http://internal.com/test</a></li>
  </ul>
</body>
</html>
  • 第一种思路:直接if判断,把多种条件使用&&放一起,对符合所有条件的项进行处理
  <script>
    // 第一种思路
    let links = document.querySelectorAll('a');
 
    for(let link of links){
      let atr = link.getAttribute('href');
      if(atr && !atr.startsWith('http://internal.com') && atr.includes('://')){
        link.style.color = 'orange'
      }
    }
  </script>
  • 第二种思路:使用continue,不符合条件的跳过本次循环
<script>
let links = document.querySelectorAll('a');

for (let link of links) {
  let href = link.getAttribute('href');
  if (!href) continue; // 没有特性

  if (!href.includes('://')) continue; // 没有协议

  if (href.startsWith('http://internal.com')) continue; // 内部的

  link.style.color = 'orange';
}
</script>

案例文章参考:https://zh.javascript.info/dom-attributes-and-properties

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值