尝试将带有脚本的 html 加载到另一个页面

try to load a html with script on it into another page

感谢您的抽空,这是我第一次 post :)

所以我有一个运行良好的脚本,这里是我的 page1.html 简化版:

<html>
<head>
    <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
    <script>
    var lang = "en";
    $(function(){ 
        $("#morelink").load("page2.html");
    });
    </script>
</head>
<body>
    <div id="morelink"></div>
</body>
</html>

这里是我的 page2.html 简化版,是添加到我的页面 1 :

<div>       
    <a href="model_1_'+lang+'.html">
        <img src="image1.png" />
    </a>
    <a href="model_2_'+lang+'.html">
        <img src="image2.png" />
    </a>
    <a href="model_3_'+lang+'.html">
        <img src="image3.png" />
    </a>
</div>

加载工作正常,但这不起作用,因为当我点击 link 时应该给我一个 link with:

 model_3_en.html

但他给我:

 model_3_'+lang+'.html

为什么 var lang = "en" 不起作用?

您必须在加载新页面内容后动态设置锚点的 href 属性。

尝试像下面这样改变你的page2.html

<div>       
    <a data-link="model_1_">
        <img src="image1.png" />
    </a>
    <a data-link="model_2_">
        <img src="image2.png" />
    </a>
    <a data-link="model_3_">
        <img src="image3.png" />
    </a>
</div>

你的脚本如下所示,

var lang = "en";
$(function(){ 
  $("#morelink").load("page2.html",function(){
       $("#morelink a[data-link]").attr("href", function(){
          return $(this).data("link") + lang + ".html";
       });
  });
});