Необходимо найти определённые элементы по классу и при наведении курсора на их родителей, применить действия и к ним и к их родителям. Использую
$('.element').parent().mouseenter(function(){...}) ; и никаких проблем нет.
Появилась необходимость создать страницу с огромным количеством таких элементов, а содержание их довольно однообразное. Чтобы не перегружать такую страницу, решил, что хорошо бы было чтобы эти элементы создавались только при необходимости. Опыта и умений у меня мало, но что хотел сделать получилось, а именно найти заранее известных родителей на такой странице и на такой же
mouseenter(), до основных действий, привязать создание необходимого элемента с помощью
append('...').
Элемент стал создаваться при наведении курсора и потом, как я думал, сработает
mouseenter() главного скрипта и он найдёт только что созданный элемент, найдёт его родителя и проделает с ними действия. Но
parent() в этом случае не заработал. Я бы подумал, что нельзя так просто работать с динамически созданными элементами, но при этом если обратиться непосредственно к родителю по его классу, то действия с созданным элементом с помощью
children('.element') и с его родителем работают.
Вот и получается странная ситуация для бедного опытом меня. Вроде не самый сложный метод, но от родителя к элементу можно, а от элемента к родителю нельзя. При том только в случае динамически создаваемых элементов.
alert() видит родителя создаваемого элемента, а именно правильно выдаёт его класс после создания. Прошу подсказать, что не так и можно ли заставить работать с родителем. Так-то я мог бы и забить, просто сделав отдельный код для этого конкретного случая, в случае непосредственного обращения к родителю то работает, но не хотелось бы плодить лишнего кода.
Вот примеры:
От элемента к родителю (не работает):
http://jsfiddle.net/6s8pgdvr/.
От родителя к элементу (работает):
http://jsfiddle.net/6s8pgdvr/1/.