2013-03-14 2 views
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(), чтобы выполнить это, но я везде читаю, что это зло. Я могу что-нибудь сделать?

ответ

3

Используйте форму квадратной скобки оператора-члена.

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

Он использует значение независимо выражение в скобках возвращает в качестве имени свойства toString().

+0

Спасибо. Я видел подобную тему, но не собирал ее, чтобы вы могли использовать объект таким образом в JavaScript. – EHorodyski

Смежные вопросы