Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2014, 21:57
Новичок на форуме
Отправить личное сообщение для LostDok Посмотреть профиль Найти все сообщения от LostDok
 
Регистрация: 10.11.2014
Сообщений: 3

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

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

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

Последний раз редактировалось LostDok, 10.11.2014 в 22:03.
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2014, 22:15
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

eval. А вообще, не понятно, что ты делаешь. Приведи код.
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2014, 22:19
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

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

http://javascript.ru/accessors
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2014, 22:28
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

<!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", затем нажми кнопку. Это тебе надо?
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2014, 22:29
Новичок на форуме
Отправить личное сообщение для LostDok Посмотреть профиль Найти все сообщения от LostDok
 
Регистрация: 10.11.2014
Сообщений: 3

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

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


Всем спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить состоит ли строки только из пробелов Telnet Общие вопросы Javascript 6 19.11.2020 19:52
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 12:29
datatables как добавить в таблицу данных не перерисовывая строки? Kenuat jQuery 0 02.12.2013 16:14
Как определить, какой вызывается метод? develka Общие вопросы Javascript 9 08.06.2012 20:40