一个脚本可以加载许多HTML文件

时间:2020-01-26 14:34:18

标签: javascript html

我有一个用于将html文件加载到页面的脚本。一切正常,但是我想要类似“循环”的内容来加载列表中的每个位置。

所以我有个剧本

<script>
    $(document).ready(function(){
      $("#introduction").click(function(){
        $("#main_info").load("introduction.html");
      });
    });
    </script>

然后我从菜单“简介”中加载职位。

  <ul>
            <li><a href="#" id="home"><i class="home"></i>home</a></li>
            <li><a href="#" id="introduction"><i class="introduction"></i>introduction</a></li>
            <li><a href="#" id="structure"><i class="structure"></i>structure</a></li>
        </ul>

但是如何更改此脚本以尝试使用我的UL LI A中的每个位置?

就像当我单击带有家的Li时一样,我将加载home.html,introduction = Introduction.html和structure = structure.html ??

2 个答案:

答案 0 :(得分:2)

尝试:

$("a").click(function (){
 $(this).find("i").load($(this).attr("id")+".html");
});

答案 1 :(得分:1)

您可以使用.each()中的JQuery来实现这种“循环”逻辑,就像这样:

$(document).ready(function(){
  $('ul li a').each(function() {  // <-- Iterate throught all your links
    $(this).click(function(){
      var fileToLoad = $(this).attr('id') + '.html';
      $("#main_info").load(fileToLoad);
    });
  });
});
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
  
<ul>
  <li><a href="#" id="home"><i class="home"></i>home</a></li>
  <li><a href="#" id="introduction"><i class="introduction"></i>introduction</a></li>
  <li><a href="#" id="structure"><i class="structure"></i>structure</a></li>
</ul>

相关问题