Как я добавляю элемент DOM с jQuery?

Вы не установили ширину, только максимальную ширину, поэтому, если содержащий элемент шире исходного изображения, он ничего не изменит. Попробуйте изменить max-width: 100%; на width: 100%;

12
задан Kev 22 August 2011 в 18:38
поделиться

2 ответа

Как насчет того, чтобы добавить его после последнего отделения.

$('.a_type:last').insertAfter('<div class="a_type">content</div>');

править
Можно получить информацию через вызов Ajax к somefile.php, somefile должен затем возвратить содержание, которое Вы хотите в отделении:

$.get('path/to/somefile.php', function(data){
 $('.a_type:last').insertAfter('<div class="a_type">' + data + '</div>');
});

Somefile.php должен быть чем-то вроде этого:

<?php
 session_start();
 $sessiondata = $_SESSION['data'];
 echo "Whatever you type here will come inside the div bla bla $sessiondata";
?>

править
Хорошо, попробуйте это:

jQuery(function(){ // Add Answer

jQuery(".add_answer").click(function(){
  if(count >= "4"){
    alert('Only 4 Answers Allowed');
    }else{
  var count = $(this).attr("alt");
  count++;
  $('.a_type_'+count-1+'').insertAfter(' 
       Place content back here');
  $(this).attr("alt", count);
}

});

});

Просто соединение в Ajax, если Вам все еще нужен он.

10
ответ дан 2 December 2019 в 21:45
поделиться

У меня есть другая функция, которая удаляет введенное отделение, если кнопка нажата. Это не работает теперь, когда дополнительные отделения не загружаются в dom на pageload. Как я могу инициировать функцию для удаления их теперь?

У Вас есть три опции решить Вашу новую проблему.

  1. Вы могли использовать liveQuery, плагин jQuery, который повторно применяет обработчики событий к элементам DOM, когда они добавляются.Примечание: этот плагин только будет эффективным при использовании собственного jQuery DOM добавляющие/предварительно ожидающие функции (append/prepend/after/before/insertBefore/insertAfter и т.д.).

  2. Кроме того, Вы могли просто повторно применить обработчики, когда новые элементы добавляются, вручную... (не наилучший вариант)

  3. Третье, и по-моему наилучший вариант должно использовать ужасающую силу делегации события. То, что Вы делаете, присоединить обработчик событий к любому родителю, например, если Вы собираетесь быть динамично добавляющими элементами списка к незаказанному списку, вместо того, чтобы постоянно повторно применить обработчики событий к каждому добавленному объекту Вы могли просто присоединить обработчик событий к родителю и затем найти цель события:

    $('ul').click(function(e){
        var target = e ? e.target : window.event.srcElement;
        if(target.nodeName.toLowerCase() === 'li') {
            // Do Stuff...
        }
    })
    
2
ответ дан 2 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: