0

このコードを短くしたいので、3行か4行にしたいのですが、

しかし、3行を作ろうとすると、うまくいきません。

$('#uebersicht').append('<ul data-role="listview" data-split-icon="gear" data-split-theme="d" data-inset="true" class="ui-listview ui-listview-inset ui-corner-all ui-shadow"><li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="false" data-iconpos="right" data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-li-has-alt ui-li-has-thumb ui-first-child ui-last-child ui-btn-up-c"><div class="ui-btn-inner ui-li ui-li-has-alt"><div class="ui-btn-text"><a href="#" class="ui-link-inherit"><img class="ui-li-thumb" src='+icerik.Resim+'><h2 class="ui-li-heading">'+moschee+'</h2><p class="ui-li-desc">'+results[0].formatted_address+'</p><p class="ui-li-desc">'+hesapla(meineLongitude,meineLatitude,icerik.Position.Longitude,icerik.Position.Latitude)+'</p></a></div></div><a href="#purchase" data-rel="popup" data-position-to="window" data-transition="pop" title="Purchase album" class="ui-li-link-alt ui-btn ui-btn-up-c ui-btn-icon-notext" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-icon="false" data-iconpos="notext" data-theme="c" aria-haspopup="true" aria-owns="#purchase"><span class="ui-btn-inner"><span class="ui-btn-text"></span><span data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="gear" data-iconpos="notext" data-theme="d" title="" class="ui-btn ui-btn-up-d ui-shadow ui-btn-corner-all ui-btn-icon-notext"><span class="ui-btn-inner"><span class="ui-btn-text"></span><span class="ui-icon ui-icon-gear ui-icon-shadow">&nbsp;</span></span></span></span></a></li></ul>');
4

4 に答える 4

1

\次のように、JavaScriptの改行を文字でエスケープします。

$('#uebersicht').append('<ul data-role="lisview" data-split-icon="gear"\
 data-split-theme="d" data-inset="true" class="ui-listview \
ui-listview-inset ui-corner-all ui-shadow">');

上にあるのは長い文字列の短縮版ですが、\JavaScriptの新しい行を分割するために使用することがわかります。

于 2013-03-19T16:00:34.687 に答える
0

おそらく最もクリーンな解決策は、jqueryコンテナーを作成し、append / appendToを介してすべての要素を追加し、最後にオブジェクト全体をdomに挿入して、domの操作/再描画が多すぎないようにすることです。

しかし、HTML文字列を使用すると、スクリプトがかなり長くなる可能性があります...

var $list = $('<ul>');

$list.data({
    'role': 'listview',
    'split-icon': 'gear',
    // etc...
}).addClass('ui-listview ui-listview-inset ui-corner-all ui-shadow');

$li = $('<li>');
// take the base object and clone it if used multiple times
$li.clone().data({
    // fill up data, add classes etc.
}).addClass('classes').appendTo($list);

// and so on with each element, use all the beautiful jquery functions available
// there's no dom manipulation to this point, performance still fine
// now in the end, insert the object into the dom:
$list.appendTo('#uebersicht');

たぶんあなたにとってより良い方法:

var html = '';

html += '<ul data-role="listview" data-split-icon="gear" data-split-theme="d" data-inset="true" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">';
html += '<li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="false" data-iconpos="right" data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-li-has-alt ui-li-has-thumb ui-first-child ui-last-child ui-btn-up-c">';
html += '<div class="ui-btn-inner ui-li ui-li-has-alt">';

// etc. just make a line for each tag or split it if too long

$('#uebersicht').append(html);
于 2013-03-19T16:12:31.650 に答える
0

複数の HTML 要素を追加する必要がある場合、それを整理してきれいにする最善の方法は、次のように分割すること.append()です。

$('#myID').append('<p>lorem ipsum</p>')
          .append('<p>dolor sit amet...</p>')
          .append('etc...');

しかし、あまりにも多くの要素を追加するのはあまり良くありません...

于 2013-03-19T16:02:01.910 に答える
0

好きな場所で分割してください。文字列を任意の場所で終了し、プラス記号と改行を追加して、文字列をもう一度開始します。例えば

$('#uebersicht').append(
    '<ul data-role="listview" data-split-icon="gear" ' +
        'data-split-theme="d" data-inset="true" ' +
        'class="ui-listview ui-listview-inset ui-corner-all ui-shadow">' +
        '<li data-corners="false" data-shadow="false" data-iconshadow="true"' +
             'data-wrapperels="div" data-icon="false" data-iconpos="right"' +
             'data-theme="c" class="ui-btn ui-btn-icon-right ui-li ' +
             'ui-li-has-alt ui-li-has-thumb ui-first-child ui-last-child ' +
             'ui-btn-up-c">' +
          '<div class="ui-btn-inner ui-li ui-li-has-alt">' +
          '<div class="ui-btn-text">' +
          '<a href="#" class="ui-link-inherit">' +
          '<img class="ui-li-thumb" src='+icerik.Resim+'>' +
          '<h2 class="ui-li-heading">'+moschee+'</h2>' +
          '<p class="ui-li-desc">' +
              results[0].formatted_address+ 
          '</p> ' +
          '<p class="uii-desc">' +   
            hesapla(meineLongitude, eineLatitude, icerik.Position.Longitude,       
               icerik.Position.Latitude) +
          '</p></a></div></div>' +
          '<a href="#purchase" data-rel="popup" data-position-to="window" ' +
            'data-transition="pop" title="Purchase album" ' +
            'class="ui-li-link-alt ui-btn ui-btn-up-c ui-btn-icon-notext"' +
            'data-corners="false" data-shadow="false" data-iconshadow="true" ' +
            'data-wrapperels="span" data-icon="false" data-iconpos="notext" ' +
            'data-theme="c" aria-haspopup="true" aria-owns="#purchase"> ' +
          '<span class="ui-btn-inner">' +
          '<span class="ui-btn-text"></span>' +
          '<span data-corners="true" data-shadow="true" data-iconshadow="true" ' +
             'data-wrapperels="span" data-icon="gear" data-iconpos="notext" ' +
             'data-theme="d" title="" class="ui-btn ui-btn-up-d ui-shadow ' +
             'ui-btn-corner-all ui-btn-icon-notext">' +
          '<span class="ui-btn-inner">' +
          '<span class="ui-btn-text"></span>' +
          '<span class="ui-icon ui-icon-gear ui-icon-shadow">&nbsp;' +
          '</span></span></span></span></a></li></ul>'
);

より良いインデントを使用して、このクリーンアップを行うこともできましたが、アイデアを得る必要があります。私が理解していることから、これはappend各行で呼び出すよりも優れています。各追加には比較的長い時間がかかります。

于 2013-03-19T16:09:03.070 に答える