如何将变量设置为对象?

时间:2016-05-16 05:17:51

标签: jquery

我有一个静态代码,如:

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/',

定义webroot时,使用适当的值进行初始化。我的整个代码是:

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变量以使其连接?

1 个答案:

答案 0 :(得分: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/'