2013-09-27 196 views
3

我正在使用超級jQuery插件,並且需要從圖像列表中刪除最後一個逗號,以便它在IE中工作。 如果最後一張圖片後有一個逗號,則超級插件在IE中不起作用,這是一個已知問題。使用jQuery從字符串中刪除最後一個逗號

我正在使用Business Catalyst,所以這不是PHP。

這是圖像列表的顯示,與尾隨逗號:

{image : 'melbourne.jpg'},{image : 'tunnel.jpg'},{image : 'building.jpg'}, 

什麼是做到這一點的最好方法是什麼?

jQuery(function($){ 
      $.supersized({ 
       slide_interval   : 3000,  
       transition    : 1,   
       transition_speed  : 700,   

       slides     : [ // Slideshow Images 
               {module_webapps,9198,a template="/Layouts/WebApps/slide.tpl"} 
              ] 
      }); 
     }); 

這就是/Layouts/WebApps/slide.tpl的樣子。基本上只是通過滑塊圖片循環...

{image : '{tag_bg image_value}'}, 
+0

的問題是不明確的,有什麼逗號?什麼字符串?爲什麼它不在IE中工作?你確定這是問題嗎? – elclanrs

+0

這似乎是一個PHP問題,而不是jQuery。生成圖像數據的腳本位於服務器端,而不是客戶端。您應該包含生成數據的完整PHP代碼。 – Boaz

回答

0

如果商業催化劑不給你靈活地做Django的風格{if forloop.last},{endif}標籤,考慮改變你的

] 

{}] 

undefined] 

所以不會有尾隨逗號。請注意,您的supersized插件需要知道如何處理這些「不正確的」值。

5

您可以在字符串中使用regulare表達這樣的:

var modifiedString = yourString.replace(/,\s*$/, ''); 

這將刪除最後一個逗號,如果有一個,也將刪除空白。

+0

這將刪除逗號的第一個匹配項。請修正成'',\ s * $ /'。 – kristinalim

+0

@kristinalim哦廢話,我forogt正則表達式中最重要的部分,謝謝! –

1

嘗試子刪除最後一個逗號

var data = "{image : 'melbourne.jpg'},{image : 'tunnel.jpg'},{image : 'building.jpg'},"; 
    data = data.substr(0, data.length-1); 

    console.log(data); 
相關問題