0

我有以下html代码:

<nav id="main-navigation">    
<ul class="cf">

<li class=" active-link">
<a href="/">Home</a>
</li>

</ul>  
</nav>

我需要在标签之前添加以下代码</ul>

<li class="">
<script type="text/javascript" src="https://app.ecwid.com/script.js?4549118"></script>
<script type="text/javascript">xMinicart("style=","layout=Mini"); </script> 
</li>

但是,要这样做,我必须使用 jquery 的 append()。但我不知道在append()中添加script type="text/javascript"src="https://app.ecwid.com/script.js?4549118"></script>的正确方法。<script type="text/javascript">xMinicart("style=","layout=Mini"); </script>

谢谢!

编辑1:

所以你可以看到我正在尝试做的事情:我需要的是以下http://jsfiddle.net/u3NKD/5/结果是两个链接。但是,第二个链接(上面写着“sacola de compras”的链接)必须使用 append(),而不是 html。这就是我想要做的

编辑2:

我尝试了这个 Jsfiddle http://jsfiddle.net/u3NKD/7/中的代码,它在 Jsfiddle 中完美运行,但在我的 Squarespace 网站中不起作用。

我网站中的代码如下:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-backstretch/2.0.4/jquery.backstretch.min.js"></script>

<script>
window.onload=function(){ 
$('nav ul').append('<li id="hello"></li>');
$.getScript("https://app.ecwid.com/script.js?4549118", function(){
    xMinicart("style=","layout=Mini","id=hello");
}); 
}
</script>

知道为什么它在方形空间中不起作用吗?

谢谢!

4

3 回答 3

0

您是否尝试过使用类似的东西

$.getScript("https://app.ecwid.com/script.js?4549118", function(){
    xMinicart("style=","layout=Mini");
}); 

加载脚本,然后激活 xMinicart 对象?我真的不明白为什么您要在没有更多上下文的情况下即时执行此操作,所以这是我能提供的最佳建议。

https://api.jquery.com/jQuery.getScript/(使用 GET HTTP 请求从服务器加载一个 JavaScript 文件,然后执行它。)

于 2014-04-26T04:17:09.840 回答
0

如果你真的需要把它放到那个特定的地方,那么试试这个:在同一个目录中创建一个单独的 html 文件,把它命名为 myli.html 之类的东西,然后你把它放进去:

<ul id="myli">
  <li class="">
   <script type="text/javascript" src="https://app.ecwid.com/script.js?4549118"></script>
   <script type="text/javascript">xMinicart("style=","layout=Mini"); </script> 
  </li>
</ul>

然后在您希望附加此内容的原始页面中执行此操作,您必须创建一个像这样的虚拟容器

$('<div/>', {id:'dummycont', css: {display: 'none'}}).appendTo('body');

然后

$('#dummycont').load('myli.html #myli, function(){
    var li = $(this).find('#myli').html();
    $('nav ul').prepend(li);
});

所以基本上这个加载事件会将myli.html中的特定#myli加载到一个临时虚拟容器中。然后你抓取该内容并将其添加到目标 ul。让我知道这是否适合你。我还没有测试过。

于 2014-04-26T04:30:25.753 回答
0

您所做的只是将脚本作为 Text 或 innerText 附加到 HTML DOM 结构中。使用 getScript 或 Ajax 调用调用 Js。(带有返回类型脚本的 Ajax 调用是一个 getScript)

并在其返回函数中调用 xMinicart 函数。

在您的 Dom 中,只需附加一个具有特定 id 的“li”,然后在 getScript 成功函数中将 id 传递给 xMinicart 函数/

    <nav id="main-navigation">    
     <ul class="cf">

      <li class=" active-link">
        <a href="/">Home</a>
      </li>
      <li id="hello"></li>    
     </ul>

   </nav>

你的 Js 调用应该是

$.getScript("https://app.ecwid.com/script.js?4549118", function(){
xMinicart("style=","layout=Mini","id=hello");
  });

这将在页面上加载购物车。

在此处检查 Jsfiddle http://jsfiddle.net/u3NKD/6/

于 2014-04-26T04:49:05.807 回答