2016-05-16 65 views
-1

我有一个静态代码,如:如何设置变量为对象?

var LayersliderInit = function() { 

    return { 
     initLayerSlider: function() { 
      $('#layerslider').layerSlider({ 
       skinsPath : '/../assets/global/plugins/slider-layer-slider/skins/', 
       skin : 'fullwidth', 
       thumbnailNavigation : 'hover', 
       hoverPrevNext : false, 
       responsive : false, 
       responsiveUnder : 960, 
       layersContainer : 960 
      }); 
     } 
    }; 

}(); 

现在我想改变skinspPth对象如下:

skinsPath : webroot+'/assets/global/plugins/slider-layer-slider/skins/', 

凡根目录的定义与适当的值初始化。我的整个代码是:

var LayersliderInit = function() { 
var webroot = $('#webroot'); 
    return { 
     initLayerSlider: function() { 
      $('#layerslider').layerSlider({ 
       skinsPath : webroot+'/assets/global/plugins/slider-layer-slider/skins/', 
       skin : 'fullwidth', 
       thumbnailNavigation : 'hover', 
       hoverPrevNext : false, 
       responsive : false, 
       responsiveUnder : 960, 
       layersContainer : 960 
      }); 
     } 
    }; 

}(); 

但是,当我检查skinsPath对象,它看起来像:

skinsPath : webroot+'/assets/global/plugins/slider-layer-slider/skins/', 

我将如何设置webroot的变量,以便它是串联的?

+2

是不是'$( '#Webroot公司')'一个jQuery对象?你为什么试图在一个字符串中使用它? – Phil

+0

什么是webroot? –

+0

使用eval(webroot),表示webroot是一个变量。 –

回答

0

您的变量webroot是一个jQuery对象。这不是一个字符串。所以你的表情:

webroot+'/assets/global/plugins/slider-layer-slider/skins/' 

是不会去你想要的。它会尝试在$('#webroot') jQuery对象上进行某种字符串转换,然后将其连接起来。您需要说明您希望webroot在该表达式中,因此我们可以帮助您获取该值并将其用于表达式中。

您的意思是从DOM中的#webroot对象获取某些属性或值吗?你期望字符串值来自哪里?也许如果您向我们展示与#webroot对象关联的HTML,我们可能会更好地了解哪种解决方案适合您。

如果#webroot<input>标签,那么也许你想这样的:

webroot.val() + '/assets/global/plugins/slider-layer-slider/skins/' 
+2

我认为这应该作为评论发布,而不是回答 –

+0

@TheFlash - 我解释了为什么他们的代码无法工作,因为OP提供的信息并基于我们有限的信息为解决方案提供了一个可能的方向。这是目前可以做到的最好的。 – jfriend00

+0

@sattar_kuet_bd - 这是否回答你的问题?如果是这样,请点击答案左边的绿色复选标记以向社区表明这一点,并为您在堆栈溢出时遵循适当的程序获得一些信誉点。如果没有,请解释你仍然困惑的部分问题。 – jfriend00