代码之家  ›  专栏  ›  技术社区  ›  Sharon Hu Bach

如何从传递给filter()函数的<li>列表中获取数据内容属性值

  •  0
  • Sharon Hu Bach  · 技术社区  · 7 年前

    我一直在琢磨如何从li tag字母表列表中获取数据内容属性值,这样我就可以进行值比较,并进行比较。filter()函数用于过滤内容。到目前为止,我只能根据列表中不同字母的数量,多次打印第一个字母A,但如何只打印一次所有字母(fx.A-Z)?

    $(function($) {
      var letters = [];
      var $ul = $("<ul></ul>").appendTo(".page-content");
    
      $("nav.link-list a").each(function(i) {
        var brandTitle = $(this).attr("title");
        itmLetter = brandTitle.trim().substring(0, 1).toUpperCase();
        if (letters.indexOf(itmLetter) < 0) {
          letters.push(itmLetter);
          $ul.append(
            $("<li/>", {
              "class": "AddContent",
              "id": itmLetter,
              "data-content": itmLetter
            })
          );
        }
      }); // end of alphabet list
        
    setTimeout ( filter(), 3000);
    
    function filter() {
          $("li.AddContent").each(function(){
                var al = $("li.AddContent").attr("id");
        console.log(al);
           });
        
    }
        
    });
    .AddContent:before {
       content: attr(data-content);
       display: block;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="page-content">
      <h1>Brands</h1>
      <div class="page-content__body"></div>
    </div>
    <article class="category-list">
        <nav class="link-list">
          <a href="/brands/abus" title="ABUS">ABUS</a>
        </nav>
        <nav class="link-list">
          <a href="/brands/abus" title="ACC">ACC</a>
        </nav>
        <nav class="link-list">
          <a href="/brands/abus" title="BUS">BUS</a>
        </nav>
        <nav class="link-list">
          <a href="/brands/abus" title="BKUS">BKUS</a>
        </nav>
        <nav class="link-list">
          <a href="/brands/abus" title="KUS">KUS</a>
        </nav>
        <nav class="link-list">
          <a href="/brands/abus" title="SUK">SUK</a>
        </nav>
      </article>

    时间

    0 回复  |  直到 7 年前