3 / 3 / 2
Регистрация: 07.07.2012
Сообщений: 116

Не работает classname

15.03.2014, 13:58. Показов 2781. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru