考虑使用语言资源(特别是在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()
来实现这个目标,但我到处读到它是邪恶的。我有什么可以做的吗?
答案 0 :(得分:3)
使用成员运算符的方括号形式。
$(this).text(SP.Publishing.Resources[$(this).attr('data-stringResource')]);
它使用括号中的表达式返回的toString()
值作为属性名称。