重新写的标题:对HTML列表进行循环遍历
P粉221046425
P粉221046425 2023-09-09 18:34:42
[HTML讨论组]

我想要一个循环遍历列表项系列的JS代码,对于每个列表项,它会存储一个唯一的属性值(在这种情况下,是href),然后将其插入到同一列表项内的另一个元素中(在这种情况下,是按钮)。我现在的JS代码只对第一个列表项起作用,而不是整个系列。我的方法能调整一下吗,还是需要进行修改?

  • link one
  • link two
  • link three
  • document.querySelectorAll('.productgrid--item').forEach(function(node) {
      var anchorHref = document.querySelector('.productitem--image-link').getAttribute('href');
      var addToCart = document.querySelector('.atc-button--text');
      addToCart.setAttribute('data', anchorHref);
    });

    P粉221046425
    P粉221046425

    全部回复(2)
    P粉302160436

    如果您使用foreach节点并从那里获取和设置所需的属性,那么跟随会更容易

      document.querySelectorAll('.productgrid--item').forEach(function(node) {
      var anchorHref = node.querySelector('.productitem--image-link').getAttribute('href');
      var addToCart = node.querySelector('.atc-button--text');
      addToCart.setAttribute('data', anchorHref);
      console.log(addToCart)
    });
     
      
    <li id='a' class="productgrid--item">
      <a id='a1' class="productitem--image-link" href="www.link_one.com">link one</a>
      <button class="atc-button--text">button one</button>
    </li>
    <li id='b' class="productgrid--item">
      <a class="productitem--image-link" href="www.link_two.com">link two</a>
      <button class="atc-button--text">button two</button>
    </li>
    <li id='c' class="productgrid--item">
      <a class="productitem--image-link" href="www.link_three.com">link three</a>
      <button class="atc-button--text">button three</button>
    </li>
    P粉270891688

    forEach()中,你应该使用node.querySelector()而不是document.querySelector()

    请参见https://jsfiddle.net/qkd37rsu/

    document.querySelector()在整个文档树中选择并返回第一个匹配的元素,而node.querySelector()仅在node元素的子树中搜索(并返回第一个匹配的元素)。请注意,node只是由forEach(function(node){...})提供的参数。

    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号