将数据字符串转换为对象?

时间:2013-03-14 21:05:36

标签: javascript jquery

考虑使用语言资源(特别是在SharePoint中),我想将HTML标记的文本绑定到我的一个资源JavaScript对象中的值(SharePoint有一个处理程序可以执行此操作)。我想做这样的事情:

HTML:

<div id="helloMessage" data-stringResource="helloString" />

JS:

  $('div').each(function() {
      $(this).text(SP.Publishing.Resources. + $(this).attr('data-stringResource'));
  });

理想情况下,我想要的是该文本函数传递给SP.Publishing.Resources.helloString。我想我可以使用eval()来实现这个目标,但我到处读到它是邪恶的。我有什么可以做的吗?

1 个答案:

答案 0 :(得分:3)

使用成员运算符的方括号形式。

$(this).text(SP.Publishing.Resources[$(this).attr('data-stringResource')]);

它使用括号中的表达式返回的toString()值作为属性名称。