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

converting a string form object saved with data()

本文关键字:字符串 表单 单对象 保存 data 转换      更新时间:2023-09-26

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

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

尝试

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

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

所以

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