0

考虑到使用语言资源(尤其是在 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()来做到这一点,但我到处都读到它是邪恶的。有什么我可以做的吗?

4

1 回答 1

3

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

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

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

于 2013-03-14T21:06:27.943 回答