【问题标题】:How to access all <li> whose id's begins with the same name如何访问id以相同名称开头的所有<li>
【发布时间】:2015-09-15 10:07:20
【问题描述】:

我想使用id="BasketProduct..."访问所有标签

HTML

<ul class ="productdetails">
    <li id="BasketProduct-60">...</li>
    <li id="BasketProduct-133">...</li>
    <li id="BasketProduct-195">...</li>
    <li id="BasketProduct-202">...</li>
</ul>

【问题讨论】:

  • id以BasketProduct开头的元素?
  • 到目前为止你尝试过什么?您可以更新您的问题并显示您的 attetmp(s) 吗?这将使我们能够解释为什么您的尝试不起作用,并可能提供解决方案。谢谢。
  • 目的也是获取所有带有Id的
  • 标签
  • document.querySelectorAll('[id^="BasketProduct"]')
  • 为什么不将它们全部设置为具有类 BasketProduct 以及特定的 id
  • 标签: javascript html


    【解决方案1】:

    已编辑:

    var ul = document.getElementsByClassName('productdetails')[0],
    i, temp;
    
    for (i = 0; i < ul.children.length; i += 1) {
        temp = ul.children[i].id;
        if (temp.indexOf('BasketProduct-') > -1) {
            // do smth
        }
    }
    

    【讨论】:

    • 为什么是i+=1?为什么不i++ 也没有条件检查BasketProduct-?? 所以这真的不值得回答,因为 OP 想知道如何找到这些元素,而不是打印出所有 List Item 元素。我想添加类似 if(li[i].id.indexOf('BasketProduct-') &gt; -1){console.log('Found: '+li[i].id);} 这样的东西会使这个答案更好地满足 OP 的要求,但是使用 document.querySelectorAll('li[id^=BasketProduct]'); 更容易,而不是必须从 for 循环中挖掘出来。
    • 好吧,我只粘贴了一部分代码,而不是解决方案,++ 运算符在其他语言中用于指针增量,但它可以在 JS 中用于 +1 增量...
    • 因此,如果您的帖子不是解决方案,则它属于 cmets,而不是作为答案。
    • 您必须有 50 声望才能发表评论*
    • 没错,这是有原因的。你有更多的机会因为这样的帖子而被否决。这意味着你需要更长的时间才能达到声望 50。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签