Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как из JS передать переменную в id
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как из JS передать переменную в id

Страниц (1): [1]
 

1. bratkovsky - 03 Ноября, 2012 - 00:31:59 - перейти к сообщению
Почему не работает? Как правильно?

CODE (javascript):
скопировать код в буфер обмена
  1. <script type='text/javascript'>
  2.  
  3. var a = 'style';
  4.  
  5. </script>
  6.  
  7. <div id='javascript:"+a+"'>Текст</div>
  8.  
  9.  
2. IllusionMH - 03 Ноября, 2012 - 01:40:02 - перейти к сообщению
bratkovsky, потому, что не нужно думать за браузер, как он должен работать.

Элементы создаются иначе

Использование "javascript:..." в свойствах объектов(в данном случае его тут вообще нельзя использовать) - устаревшая плохая практика.
3. halsoft - 03 Ноября, 2012 - 09:31:36 - перейти к сообщению
Потому что вы не дали команду - отобразить, вы просто написали переменную, как, например, в PHP


Отобразится ли $a на экране? Nope. Почему? Потому что нет print, или echo - соответствующей команды. Если вы хотите делать именно таким образом, то только вот так

CODE (javascript):
скопировать код в буфер обмена
  1. <script>
  2.  
  3. var $a = 'style';
  4.  
  5. document.write("<div id='javascript:"+a+"'>Текст</div>");
  6.  
  7. </script>


Но это плохая практика. Лучше сначала в JS выбрать DOM элемент по id, tagName или className, а потому уже присваивать ему тот или иной attribute.
4. AlexAnder - 03 Ноября, 2012 - 09:41:32 - перейти к сообщению
Спойлер (Отобразить) Однако
5. halsoft - 03 Ноября, 2012 - 10:11:15 - перейти к сообщению
)) Да, каламбур. Может быть хотя бы так:

CODE (javascript):
скопировать код в буфер обмена
  1. <div>text</div>
  2. <script>
  3. var a = 'style';
  4. var divs = document.getElementsByTagName("div");
  5.  
  6. for(var key in divs) {
  7.  
  8.  
  9. if(какие-то условия, например divs[key].innerHTML=='text') divs[key].id = a;
  10.  
  11. }
  12. </script>

 

Powered by ExBB FM 1.0 RC1