Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2015, 18:10
Аватар для theNuclear
Новичок на форуме
Отправить личное сообщение для theNuclear Посмотреть профиль Найти все сообщения от theNuclear
 
Регистрация: 13.02.2015
Сообщений: 1

Не работает parent() на динамически созданном элементе
Необходимо найти определённые элементы по классу и при наведении курсора на их родителей, применить действия и к ним и к их родителям. Использую $('.element').parent().mouseenter(function(){...}) ; и никаких проблем нет.

Появилась необходимость создать страницу с огромным количеством таких элементов, а содержание их довольно однообразное. Чтобы не перегружать такую страницу, решил, что хорошо бы было чтобы эти элементы создавались только при необходимости. Опыта и умений у меня мало, но что хотел сделать получилось, а именно найти заранее известных родителей на такой странице и на такой же mouseenter(), до основных действий, привязать создание необходимого элемента с помощью append('...').

Элемент стал создаваться при наведении курсора и потом, как я думал, сработает mouseenter() главного скрипта и он найдёт только что созданный элемент, найдёт его родителя и проделает с ними действия. Но parent() в этом случае не заработал. Я бы подумал, что нельзя так просто работать с динамически созданными элементами, но при этом если обратиться непосредственно к родителю по его классу, то действия с созданным элементом с помощью children('.element') и с его родителем работают.

Вот и получается странная ситуация для бедного опытом меня. Вроде не самый сложный метод, но от родителя к элементу можно, а от элемента к родителю нельзя. При том только в случае динамически создаваемых элементов. alert() видит родителя создаваемого элемента, а именно правильно выдаёт его класс после создания. Прошу подсказать, что не так и можно ли заставить работать с родителем. Так-то я мог бы и забить, просто сделав отдельный код для этого конкретного случая, в случае непосредственного обращения к родителю то работает, но не хотелось бы плодить лишнего кода.

Вот примеры:
От элемента к родителю (не работает): http://jsfiddle.net/6s8pgdvr/.
От родителя к элементу (работает): http://jsfiddle.net/6s8pgdvr/1/.
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2015, 18:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

theNuclear,
http://jsfiddle.net/6s8pgdvr/2/
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2015, 18:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Что делает функция $ ? В ответе на этот вопрос кроется ответ на твой вопрос.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 14:25
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
.click() на созданном элементе Pirks jQuery 0 27.02.2011 13:05
Работает ли jquery с html сформированным динамически? warobushek Общие вопросы Javascript 5 13.06.2010 08:26
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59