выбрать и применить событие к динамическому элементу

0

Я хочу применить некоторые CSS, используя jquery, например, $('#btn').('color','red');

но проблема в том, что не работает для моего нового добавленного элемента, #btn. Он работает только с моим существующим элементом.

я использую

$('#btn').on(function(){
   $(this).css('color','red');
});

но не повезло

  • 1
    вы не можете делать это так ... любые манипуляции с dom должны быть выполнены после создания элемента ... использование делегирования on относится только к обработке событий ... его нельзя использовать для манипулирования dom
  • 0
    возможный дубликат привязки событий к динамически создаваемым элементам?
Показать ещё 2 комментария
Теги:

2 ответа

0

Возможно, вы захотите изучить DOM4 Mutation Observers (рабочий проект W3C). Они могут использоваться для получения уведомления, если DOM изменен, поэтому вы можете работать с недавно вставленными узлами, например. Также просмотрите библиотеку сводок Мутации. Однако не все браузеры поддерживают эту функцию.

Если это кажется излишним для вашего случая использования, попробуйте установить CSS перед тем, как вставить что-либо или .trigger() пользовательское событие после вставки (например, с помощью .trigger()).

0

Вы можете использовать плагин.livequery()

например

$('#btn').livequery(function() {
  $(this).css('color','red');
});

надеюсь, это поможет

благодаря

Ещё вопросы

Сообщество Overcoder
Наверх
Меню