2

なぜこれが機能しないのか途方に暮れています。

これは機能します:

$(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();
    }
});

これを機能させるにはどうすればよいですか?

4

3 に答える 3

1

バージョン 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));
于 2011-02-21T22:09:47.847 に答える