jQuery:用于预先添加HTML的正确语法

时间:2012-10-13 14:01:07

标签: jquery

我是jQuery的新手,我正在尝试添加一些HTML。但是,我一直在通过DreamWeaver获取语法错误。

这是我的代码:

    <script type='text/javascript'> 
      $(document).ready(function(){ 
      $(".contentpadded").prepend($unoslider);

      var $unoslider = $('
        <ul id="unoslider" class="unoslider">
            <li><img src="templates/{$template}/img/cloud-hosting.jpg" alt="" /></li>
            <li><img src="templates/{$template}/img/green-hosting.jpg" alt="" /></li>
            <li><img src="templates/{$template}/img/trusted-partners.jpg" alt="" /></li>
        </ul>
        '),
      });
   </script>

我无法弄清楚它有什么问题。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您应该连接字符串,还要注意代码中存在冗余,

var $unoslider = $('<ul id="unoslider" class="unoslider">'+
                   '<li><img src="templates/{$template}/img/cloud-hosting.jpg" alt=""/></li>' +
                   '<li><img src="templates/{$template}/img/green-hosting.jpg" alt="" /></li>' +
                   '<li><img src="templates/{$template}/img/trusted-partners.jpg" alt="" /></li>' +
                   '</ul>');
$(".contentpadded").prepend($unoslider);

请注意,您应首先定义变量然后追加它。

答案 1 :(得分:0)

将其更改为:

  var $unoslider = '\
    <ul id="unoslider" class="unoslider">\
        <li><img src="templates/{$template}/img/cloud-hosting.jpg" alt="" /></li>\
        <li><img src="templates/{$template}/img/green-hosting.jpg" alt="" /></li>\
        <li><img src="templates/{$template}/img/trusted-partners.jpg" alt="" /></li>\
    </ul>\
    ';

使用prepend()函数。

答案 2 :(得分:0)

演示:http://jsfiddle.net/hVjDq/

有两处更改:1)您的字符串将出现语法错误,因为它未连接“+”。 2)您正在添加未定义的变量,因此您需要在html变量准备好之后放置prepend语句。

更新了js代码:

You missed "+" for concatenation..

var $unoslider = $('<ul id="unoslider" class="unoslider">'+
               '<li><img src="templates/{$template}/img/cloud-hosting.jpg" alt=""/></li>' +
               '<li><img src="templates/{$template}/img/green-hosting.jpg" alt="" /></li>' +
               '<li><img src="templates/{$template}/img/trusted-partners.jpg" alt="" /></li>' +
               '</ul>');
$(".contentpadded").prepend($unoslider);