为了账号安全,请及时绑定邮箱和手机立即绑定

从列表项文本生成 href

从列表项文本生成 href

HUWWW 2021-09-30 13:40:47
更新:我有一个侧边栏,它提取所有现有的 h3 标签并在列表中显示文本。我希望这些列表项与文本具有相同的 id 和 href。示例列表项:当前的: <li>Heading One</li>期望: <li id="heading-one"><a href="#heading-one">Heading One</li>HTML:<div id="content">    <h3 id="example-one">Example One</h3>    <h3 id="example-two">Example Two</h3>    <h3 id="example-three">Example Three</h3></div><div id="sidemenu-container">    <div class="wpb_wrapper">        <div class="wpb_wrapper">        </div>    </div></div>JavaScript:jQuery(function($) {    $(document).ready(function(){        // Create array from h3s found in main content        let nodeList = document.getElementById('content').querySelectorAll('h3');        let list = [];        nodeList.forEach(function(val){            list.push(val.innerHTML)        })        // Create unordered list        var ul = document.createElement('ul');        // Append unordered list to sidebar        document.getElementById('sidemenu-container').getElementsByClassName("wpb_wrapper")[1].appendChild(ul).id = "top-menu";        // Append list items to unordered list        list.forEach(function(title){            var li = document.createElement('li');            ul.appendChild(li);            li.innerHTML += title;        });    });});想要的结果:<div id="content">    <h3 id="example-one">Example One</h3>    <h3 id="example-two">Example Two</h3>    <h3 id="example-three">Example Three</h3></div><div id="sidemenu-container">    <div class="wpb_wrapper">        <ul>            <li><a href="#example-one">Example One</a></li>            <li><a href="#example-two">Example Two</a></li>            <li><a href="#example-three">Example Three</a></li>        </ul>    </div></div>JSFiddle:https://codepen.io/Crawlinson/pen/OJLjyGe
查看完整描述

3 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

这是您问题的确切解决方案


<script type="text/javascript">


      jQuery(function($) {

        $(document).ready(function(){


            // Create array from h3s found in main content

            let nodeList = document.getElementById('content').querySelectorAll('h3');

            let list = [];

            nodeList.forEach(function(val){

              list.push(val.innerHTML)

            })


            // Create unordered list

            var ul = document.createElement('ul');


            // Append unordered list to sidebar

            document.getElementById('sidemenu-container').getElementsByClassName("wpb_wrapper")[1].appendChild(ul).id = "top-menu";

              console.log("list" , list);

            // Append list items to unordered list

            list.forEach(function(title){

              var li = document.createElement('li');

              ul.appendChild(li); 

              var a = document.createElement('a');

              li.appendChild(a);

          title = title.split(" ").join("-");

           var id1 = "#" + title;

              $(a).attr('id',  id1);

              a.innerHTML += title;

            });


          });

      });



    </script>

希望它有效。请检查一下 。


查看完整回答
反对 回复 2021-09-30
?
largeQ

TA贡献2039条经验 获得超7个赞

jQuery(function($) {

 $(document).ready(function(){


    // Create array from h3s found in main content

    let nodeList = document.getElementById('content').querySelectorAll('h3');

    let list = [];

    nodeList.forEach(function(val){

        list.push(val.innerHTML)

    })


    // Create unordered list

    var ul = document.createElement('ul');


    // Append unordered list to sidebar

    document.getElementById('sidemenu-container').getElementsByClassName("wpb_wrapper")[1].appendChild(ul).id = "top-menu";


    // Append list items to unordered list

    list.forEach(function(title){

        var li = document.createElement('li');

        var a = document.createElement('a');

        var id =  title.toLowerCase().split(" ").join('-');

        ul.appendChild(li);

        a.href = "#" + id;

        li.id = id


        a.innerHTML += title;

        li.appendChild(a);

    });


  });

});


查看完整回答
反对 回复 2021-09-30
  • 3 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信