Вот мой код:Родители JQuery(). Eq (2) и .parent(). Parent() не ведут себя?
function showNotification(title, message) {
var newNotification = $('<div></div>');
var newNotificationHeader = $('<div>' + title + '</div>');
var newNotificationCloser = $('<div></div>');
newNotificationCloser.click(function(){
closeNotification($(this).closest('notification'));
});
var newNotificationMessage = $('<div>' + message + '</div>');
newNotification.attr('class', 'notification');
newNotification.css('opacity', 0);
newNotificationHeader.attr('class', 'notificationHeader');
newNotificationCloser.attr('class', 'notificationCloser');
newNotificationMessage.attr('class', 'notificationMessage');
newNotificationHeader.append(newNotificationCloser);
newNotification.append(newNotificationHeader);
newNotification.append(newNotificationMessage);
$('body').append(newNotification);
newNotification.animate({left: '10px', opacity:1}, 400).delay(15000).animate({top: '61px', opacity:0}, 500);
}
function closeNotification(notificationWindow) {
notificationWindow.animate({top: '61px', opacity:0}, 500);
}
В основном я пытаюсь гнездится несколько див, а затем добавить их к телу.
Функция closeNotification() ожидает основного div с классом «уведомление». Я не могу использовать идентификаторы, потому что в любой момент может быть несколько уведомлений на странице.
<body>
<div class="notification">
<div class="notificationHeader">
<div class="notificationCloser">
</div>
</div>
<div class="notificationMessage">
</div>
</div>
</body>
Я пытался использовать следующие два метода в коде щелкните на notificationCloser в:
closeNotification($(this).parent().parent());
и
closeNotification($(this).parents().eq(1));
Как ни странно это, кажется, не работает, но следующие будут скрыть корпус:
closeNotification($(this).parent().parent().parent());
и
closeNotification($(this).parents().eq(2));
Любая помощь по этому вопросу будет оценена по достоинству.
Вы знаете, что есть метод jQuery для добавления классов? ['addClass()'] (http://api.jquery.com/addClass/) – elclanrs