2012-10-13 46 views
0

我是jQuery的新手,我試圖添加一些HTML。但是,我通過DreamWeaver不斷收到語法錯誤。jQuery:正確的語法用於預先設置HTML

這裏是我的代碼:

<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> 

我想不出有什麼地方錯了。有什麼建議麼?

回答

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); 

請注意,您應該先定義變量,然後將其追加。

+0

不,它沒有工作,我不明白爲什麼。這是一個WHMCS模板,它使用smarty模板系統。所以我不得不將它包裝在{literal}標籤中,但是這不應該有什麼區別? – Xarcell

+0

@Xarcell它適用於我http://jsfiddle.net/V66jM/ – undefined

+0

此外,「.contentpadded」位於不同的模板文件(標題)中,而腳本位於(主)文件中,但都加載創建頁面。這應該沒有區別,要麼? – Xarcell

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

您需要在每行的末尾添加\(反斜槓)。 – MacMac

+0

@BurningtheCodeigniter現在好嗎? –

+0

是的,沒關係。 :-) – MacMac

0

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

有兩個變化:1)你的字符串將有一個語法錯誤,因爲它不是用「+」連接起來。 2)您預先定義了未定義的變量,因此您需要在html變量準備好之後放置前置語句。

更新的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);