转换用data()保存的字符串表单对象

时间:2013-10-19 09:25:10

标签: javascript jquery json

如何使用JavaScript(或jQuery)转换使用data()保存的字符串表单对象?

例如:转换它:

Object {imageNum: 0, text: "'sth1','sth2','sth3'"}

进入这个:

Object {imageNum: 0, text: ['sth1','sth2','sth3']}

或者只是删除引号,以便在调用$(“#data-store”)时.data()[“text”]我将得到['sth1','sth2','sth3']或'sth1' , 'STH2', 'sth3'

我要做的是加载存储在#data-store中的字体,但要为google设置字体,我需要这样的格式:

WebFontConfig = {
  google: { families: [ 'Aclonica', 'Acme', 'Alegreya' ]
    }
  };

这是我的小车JS:

$(document).on('click', '.fonts-container ul li', function(){ 
  var $el = $(this);
  var fontName = $el.data('fontname');
  $(this).closest(".editor").find('.text2').css('font-family', fontName);

    parent.$("#data-store").data()["text"] = $(this).css('font-family');
    var dataobject = $("#data-store").data();
    dataobject.text = dataobject.text.split(",");
    WebFontConfig = {
    google: { families:  [dataobject.text ]  
    }
  }
    fontLoad();   
});

2 个答案:

答案 0 :(得分:3)

尝试

var text= $("#data-store").data('text'); //{imageNum: 0, text: "'sth1','sth2','sth3'"};
text = text.replace(/'/g, "").split(/,/)

答案 1 :(得分:0)

您可以使用javascript split方法将文本(字符串)转换为数组。

所以,

var myobj =  {imageNum: 0, text: "'sth1','sth2','sth3'"};
myobj.text = myobj.text.split(",");