Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как применять метод из строки? (https://javascript.ru/forum/misc/51549-kak-primenyat-metod-iz-stroki.html)

LostDok 10.11.2014 21:57

Как применять метод из строки?
 
Здравствуйте.
Начинаю изучать javascript.
У меня есть строки, например, 'background' и '#000'. Я просто ввожу в textarea стили в формате selector='value'.

Мне надо это превратить в:
elem.style.background = '#000';

Как сделать так, чтобы название метода было взято из строки?

krutoy 10.11.2014 22:15

eval. А вообще, не понятно, что ты делаешь. Приведи код.

Octane 10.11.2014 22:19

var propertyName = 'background';
elem.style[propertyName] = '#000';

http://javascript.ru/accessors

krutoy 10.11.2014 22:28

<!DOCTYPE html>
<html>
<head>
  <meta charset="windows-1251">
  <title>foo</title>
</head>
<body>

<textarea></textarea>
<button>push</button>
<p>foo</p>

<script>
textarea=document.getElementsByTagName("textarea")[0]
button=document.getElementsByTagName("button")[0]
p=document.getElementsByTagName("p")[0]
button.onclick=function(){eval(textarea.value)}

</script>
</body>
</html>

Запусти код и впиши в textarea, например, p.style.background="red", затем нажми кнопку. Это тебе надо?

LostDok 10.11.2014 22:29

Решил проблему так:

var S = 'style', B = 'background', C = '#000';
elem [S] [B] = C; // равносильно elem.style.background = '#000';


Всем спасибо.


Часовой пояс GMT +3, время: 06:35.