jQuery: создание нового элемента DOM и его показ - PullRequest
4 голосов
/ 30 июня 2009

Итак, как следует из названия, я хочу создать новый элемент dom (HTML генерируется и извлекается через AJAX). Я вроде как работал, но он кажется скрытым, и когда я пытаюсь Fade In, он ломается!

   function AddContent(Content) {
        div = document.createElement(Content)
        div.appendTo($("#contentAreas"));
        //    $(div).fadeIn("slow");
        }

Он в основном вставляет элемент в правильную позицию, но не показывает его. Когда я пытаюсь сделать это постепенно, это не удается. Нет ошибок

Есть идеи?

Ответы [ 5 ]

5 голосов
/ 30 июня 2009

Должно быть $(div).appendTo(...). Или вы можете изменить способ создания div на div = $(Content), возможно.

3 голосов
/ 30 июня 2009

Как насчет этого:

   function AddContent(Content) {
        div = $('<div>' + Content + '</div>');           
        div.appendTo($("#contentAreas")).fadeIn("slow");
   }
3 голосов
/ 30 июня 2009

Вам не нужен createElement, конструктор jQuery может принимать html в качестве параметра (при условии, что содержимое является строкой html):

function AddContent(content) {
   var div = $(content);
   div.appendTo($("#contentAreas"));
   $(div).fadeIn("slow");
}
2 голосов
/ 30 июня 2009

appendTo принимает селектор, поэтому он не должен быть объектом jquery, как это есть во всех других примерах выше.

function AddContent( content ) {
     $(content).appendTo("#contentAreas").fadeIn("slow");
 }
2 голосов
/ 30 июня 2009

div должен быть jQuery, чтобы appendTo работал. Попробуйте это:

 function AddContent( content ) {
     $(content).appendTo("#contentAreas").fadeIn("slow");
 }
...