2014-06-21 61 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>