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 :: Версия для печати :: Как узнать номер ClassName('my_class')[]
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как узнать номер ClassName('my_class')[]

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

1. Maskca - 16 Апреля, 2012 - 16:25:13 - перейти к сообщению
Здравствуйте, как мне узнать какой сейчас ClassName, например есть список:
CODE (html):
скопировать код в буфер обмена
  1. <li class='my_class'>а</li>
  2. <li class='my_class'>б</li>
  3. <li class='my_class'>в</li>
  4. <li class='my_class'>г</li>


Мне нужно узнать на какой ClassName('my_class')[?], кликнул пользователь.
Я пробивал как то так:
CODE (html):
скопировать код в буфер обмена
  1. <li class='my_class' onclick='alert(this.ClassName)'>б</li>
, но я не знаю что там написать. Помогите разрешить эту проблему.
2. EuGen - 16 Апреля, 2012 - 16:31:18 - перейти к сообщению
this.className

?
3. Maskca - 16 Апреля, 2012 - 16:45:51 - перейти к сообщению
Это немножко не то, оно выводит имя класса, а мне нужно порядковый номер, этого класса, чтобы потом с ним работать, например для <li class='my_class'>б</li> это будет 1, и я потом
CODE (html):
скопировать код в буфер обмена
  1. document.getElementsByClassName('my_class')[1]...
смогу делать с ним, что мне нужно...
4. EuGen - 16 Апреля, 2012 - 16:51:30 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. <script type='text/javascript'>
  2. var rgElements=document.getElementsByClassName('my_class');
  3. //будет содержать элементы с 0-го по 3-й. обратиться к html первого можно как, к примеру, rgElements[0].innerHTML
  4. </script>

?
5. Maskca - 16 Апреля, 2012 - 16:53:39 - перейти к сообщению
это понятно, но мне нужно обратиться к тому элементу, на который кликнет пользователь.
Это может быть и 1 и 3, вопрос в том, как узнать на который именно элемент он кликнул?
6. EuGen - 16 Апреля, 2012 - 17:18:54 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. <script type='text/javascript'>
  2. function array_search(rgData, sData, sKey)
  3. {
  4.    for(var i=0; i<rgData.length; i++)
  5.    {
  6.       if(rgData[i][sKey]==sData)
  7.       {
  8.          return i;
  9.       }
  10.    }
  11.    return -1;
  12. }
  13. </script>

CODE (html):
скопировать код в буфер обмена
  1. <li class='my_class'>а</li>
  2. <li class='my_class' onClick="alert(array_search(document.getElementsByClassName(this.className), this.innerHTML, 'innerHTML'));">б</li>
  3. <li class='my_class'>в</li>
  4. <li class='my_class'>г</li>

Или использовать indexOf (проблематично, поддерживается не везде, плохо работает с объектами)
7. Maskca - 16 Апреля, 2012 - 17:25:04 - перейти к сообщению
Большое спасибо, это то что нужно

 

Powered by ExBB FM 1.0 RC1