проблемы с jquery prepend - PullRequest
       18

проблемы с jquery prepend

2 голосов
/ 22 февраля 2011

Я в недоумении, почему это не работает ..

это работает:

$(this).prepend("<div data-role='header'><h1>Hi</h1></div>");

однако, когда я делаю это, вся моя страница становится пустой (ничего не загружается), но ошибки нет:

$(this).prepend("<div data-role='header'><a href='link'>Link</a><h1>Hi</h1></div>");

это тоже не работает:

$(this).prepend("<div data-role='header'><h1>Hi</h1></div>");
$(this).find('div[data-role=header]').prepend("<a href='link'>Link</a>");

и это не:

var string = "<div data-role='header'><a href='link'>Link</a><h1>Hi</h1></div>";
$(this).prepend(string);

и вот контекст в случае, если это имеет значение:

$('div[data-role*="page"]').each(function (i) {
    if ($(this).children('div[data-role*="header"]').length != 0) {
        alert("has header");
    } else {
        if (i == 0) {
            var string = "<div data-role='header'><a href='link'>Link</a><h1>Hi</h1></div>";
            $(this).prepend(string);

        } else {
            $(this).prepend("<div data-role='header'><h1>Hi</h1></div>");
        }
        $(this).find('div[data-role=header]').page();
    }
});

как мне заставить это работать?

Ответы [ 3 ]

1 голос
/ 06 июня 2013

По моему опыту, если скрипт, в котором функция prepend используется в -tag, он не будет работать, потому что скрипт загружается до того, как DOM будет готов.

Чтобы избежать такого рода разочарований,хорошая привычка размещать свой javascript перед тегом.

1 голос
/ 22 февраля 2011

Предполагая, что вы используете версию 1.4 или выше, попробуйте динамически создать нужные элементы, используя новый синтаксис создания элемента:

$('<a />', {
    'href': 'http://www.google.com',
    'target': '_blank',
    'text': 'This is a link',
    'class': 'myClassName',
    'css': {
        'top': '20px'
    }
           }).appendTo('<div />', { 'data-role': 'header' })
             .prependTo($(this));
0 голосов
/ 22 февраля 2011

Я предполагаю, что вы используете jQuery mobile. Кажется, он работает так, как задумано на jsfiddle .В каком браузере вы это тестируете?

Обновлен jsfiddle, чтобы быть более полным примером, чтобы переход страницы работал с первой страницы.

...