2014-06-21 115 views
-1

幾天前有同樣的問題。這次寫了代碼記住我上次出錯的地方。不再工作...提前回答其中一個問題。 {{}}內部的代碼是通過設置獲取數據的。jquery:無法附加條件

控制檯中沒有相關的錯誤。

我想要做的是從shopify主題設置中設置圖標。

這裏是jQuery代碼

$(document).ready(function(){ 
    var $soicon1 = '{{settings.soc1_brand}}'; 

    if ($soicon1 == 'facebook') 
    { $(".soctransition1").append("<i class="fa fa-facebook"></i>"); } 
    else if ($soicon1 == 'twitter') 
    { $(".soctransition1").append("<i class="fa fa-twitter"></i>"); } 
    else if ($soicon1 == 'youtube') 
    { $(".soctransition1").append("<i class="fa fa-youtube"></i>"); } 
     else if ($soicon1 == 'instagram') 
    { $(".soctransition1").append("<i class="fa fa-instagram"></i>"); } 
     else if ($soicon1 == 'pinterest') 
    { $(".soctransition1").append("<i class="fa fa-pinterest"></i>"); } 
}); 
+0

那麼它是如何渲染出來的?你也有嵌套的雙引號! –

+0

由於未轉義的引號,我在控制檯中的參數列表後出現'SyntaxError:missing)。這是一個相關的錯誤... – Guffa

+0

基本上,沒有什麼。沒有附加代碼。那可能是因爲雙引號?我是jQ – user3638287

回答

0

試試這個:

$(document).ready(function(){ 
    var soicon1 = '{{settings.soc1_brand}}'; 
    if (soicon1 === 'facebook') 
     { $(".soctransition1").append("<i class='fa fa-facebook'></i>"); } 
     else if (soicon1 === 'twitter') 
     { $(".soctransition1").append("<i class='fa fa-twitter'></i>"); } 
     else if (soicon1 === 'youtube') 
     { $(".soctransition1").append("<i class='fa fa-youtube'></i>"); } 
      else if (soicon1 === 'instagram') 
     { $(".soctransition1").append("<i class='fa fa-instagram'></i>"); } 
      else if (soicon1 === 'pinterest') 
     { $(".soctransition1").append("<i class='fa fa-pinterest'></i>"); } 
}); 

我改變什麼:

  • 從變量soicon1
  • 刪除$改變=====
  • 用引號解決衝突的情況下,像"<i class='fa fa-instagram'></i>"
+0

nope。不起作用 – user3638287

+0

然後,對於{{settings.soc1_brand}}'的內容必須存在問題,因爲當我用硬編碼的'facebook'替換它時,它會起作用。 – TribalChief

+0

或者它實際上可以工作,但結果並不明顯,因爲附加的' TribalChief

0

最終,發現了一個很簡單的解決方案。 而不是追加,我只是把一個shopify設置字符串放入圖標代碼。

<i class="fa fa-{{settings.soc4_brand}}"></i>