1

如何使用 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中的字体”,但是要为谷歌设置字体,我需要这样的格式:

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();   
});
4

2 回答 2

3

尝试

var text= $("#data-store").data('text'); //{imageNum: 0, text: "'sth1','sth2','sth3'"};
text = text.replace(/'/g, "").split(/,/)
于 2013-10-19T09:29:34.743 回答
0

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

所以,

var myobj =  {imageNum: 0, text: "'sth1','sth2','sth3'"};
myobj.text = myobj.text.split(",");
于 2013-10-19T09:34:20.837 回答