Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
3 / 3 / 2
Регистрация: 07.07.2012
Сообщений: 116

Не работает classname

15.03.2014, 13:58. Показов 2738. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прочитал здесь статью. Событие срабатывает, но выдает пустое окно. Почти тоже самое с idname(там только пишет undefined). Объясните, пожалуйста, как именно работает эта штука.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2014, 13:58
Ответы с готовыми решениями:

className.length
У меня есть вот такой код: for(var i = 0; i < div.length; i++) { div.onclick = function() { if...

Выбор элементов по нескольким classname
Суть в том, что есть куча элементов с классом class1, некоторые из них имеют еще и class2. Нужно выбрать все элементы, которые принадлежат...

Ошибка: 'document.all.NEW.className' - не является объектом.
Короче. Есть страничка. В ней указан стиль: <STYLE> .vis { visibility:'visible' } .unvis { visibility:'hidden' } ...

7
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
15.03.2014, 15:34
нет такого метода "idname"

приведите сам код JS и HTML
0
3 / 3 / 2
Регистрация: 07.07.2012
Сообщений: 116
15.03.2014, 17:16  [ТС]
HTML5
1
2
3
4
5
6
7
<div id="menu"  onclick="t=event.target||event.srcElement; alert(t.className)">
<table>
<tr><div class="drw1"><td><a href="">Детские товары</a></td></div ></tr>   
<tr><div class="drw2"><td><a href="">Бытовая химия</a></td></div ></tr>
<tr><div class="drw3"><td><a href="">Косметика</a></td></div></tr>
<tr><div class="drw4"><td><a href="">Хозяйственные товары</a></td></div ></tr>
</table>
Эту строчку взял из статьи указанной выше
HTML5
1
onclick="t=event.target||event.srcElement; alert(t.className)"
Вся фишка в том что если просто скопировать код указанный там, все работает(
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<div class="d1"
  onclick="t=event.target||event.srcElement; alert(t.className)"
>
<span class="number">1</span>
    <div class="d2">
        <span class="number">2</span>
        <div class="d3">
            <span class="number">3</span>
        </div>
        <a class="d2a" href="javascript:void(0)">Ссылка</a>
    </div>
</div>
Хочу чтобы при нажатий ячейки таблицы вылез ее класс
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
15.03.2014, 18:02
у вас html некорректный, браузер ваши div выносит перед таблицей. Для решения задачи надо сделать валидную верстку (убрать дивы и присовить классы ячейкам, либо поместить дивы внутрь ячеек). Затем делегировать событие на див или ячейку и получить класс. Всё просто
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
15.03.2014, 18:11
на самом деле все работает. Просто если вы будете кликать по "детским товарам, то целью (target) будет ссылка, у которой, судя по вашему коду, нет класса.

замечание про div внутри tr и перед td верное - это мувитон верстки.

т.к. вы написали в тему jQuery, и как я понял вам нужно узнать по какому ряду был сделан клик, то предлагаю вам следующее решение:
HTML5
1
2
3
4
5
6
7
8
9
10
11
<table id="menu">
   <tr data-class="row1">
      <td><a href="">Детские товары</a></td>
   </tr>   
   <tr data-class="row2">
      <td><a href="">Косметика</a></td>
   </tr>   
   <tr data-class="row3">
      <td><a href="">Хозяйственные товары</a></td>
   </tr>    
</table>
JavaScript
1
2
3
4
5
6
$(document).ready(function(){
  $('#menu a').click(function(){
        row=$(this).parent('td').parent('tr').data('class');
        alert(row);
  });
});
1
3 / 3 / 2
Регистрация: 07.07.2012
Сообщений: 116
15.03.2014, 22:29  [ТС]
Спасибо. Но есть еще один вопрос. Почему при таком коде при клике на саму ссылку не видит класса?
HTML5
1
2
3
4
5
6
7
<div id="menu" >
<table>
<tr><td><div class="drw1"><a href="">Детские товары</a></div ></td></tr>    
<tr><td><div class="drw2"><a href="">Бытовая химия</a></div ></td></tr>
<tr><td><div class="drw3"><a href="">Косметика</a></div></td></tr>
<tr><td><div class="drw4"><a href="">Хозяйственные товары</a></div ></td></tr>
</table>
JavaScript
1
2
3
4
5
6
$("#menu ").click (function(event) {
 
  event = event || window.event;
  var t = event.target || event.srcElement;
  alert(t.className);
});
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
15.03.2014, 22:42
Но есть еще один вопрос. Почему при таком коде при клике на саму ссылку не видит класса?
Вы читать умеете?
у вас html некорректный, браузер ваши div выносит перед таблицей
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
16.03.2014, 01:29
Цитата Сообщение от MakcNmyc Посмотреть сообщение
Почему при таком коде при клике на саму ссылку не видит класса?
потому что у ссылки нет класса. а нажать на див надо еще умудриться (т.е. при вашем коде практически не реально)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2014, 01:29
Помогаю со студенческими работами здесь

Uncaught TypeError: Cannot read property 'className' of null
var ex = document.getElementById(&quot;exchanges&quot;); var end = document.getElementById(&quot;end&quot;); var re = document.getElementById(&quot;request&quot;); ...

Ошибка в коде. JS Не читает свойство блока ClassName
Доброго всем вечера! JS практически не знаю. Все познаю методом проб и ошибок. Решил реализовать не сложную идею открывания окна как в...

Unable to set property 'className' of undefined or null reference script.js (6,5)
Если скрипт находиться в самом html-файле то он работает, а если я закину скрипт в отдельный файл script.js то код не работает уже....

конструкция типа onMouseOver="this.className='rot';" в NN4
Прошу прощения если повторяюсь, немогу сообразить как сделать смену стиля или хотя бы атрибутов в NN4 что-то вроде: &lt;td...

В чем разница между ClassName cn и ClassName cn = new ClassName()?
Добрый день! Собственно вопрос в заголовке темы. Будьте добры расскажите пожалуйста в чем между ними разница.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru