Показать сообщение отдельно
  #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/.
Ответить с цитированием