使用jquery追加到div

使用jquery追加到div,jquery,html,Jquery,Html,我有下面的HTML代码。这是一个弹出窗口,其中包含可折叠的listitems: <div data-role="popup" id="wavelistPopup" class="ui-content"> <div id="wavlistContainer" data-role="collapsible-set" data-theme="c" data-content-theme="c" data-collapsed-icon="arrow-r" data-expande

我有下面的HTML代码。这是一个弹出窗口,其中包含可折叠的listitems:

<div data-role="popup" id="wavelistPopup" class="ui-content">
    <div id="wavlistContainer" data-role="collapsible-set" data-theme="c" data-content-theme="c" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" style="margin:0; width:250px;">
        <div data-role="collapsible" data-inset="false">
            <h2>Wave1</h2>
            <ul data-role="listview">
                <li>Entfernung: </li>
                <li>Von Autor:</li>
                <li>Schwierigkeit:</li>
                <li>Beschreibung:</li>
                <li><a data-rel="dialog">Erfahrungsberichte</a></li>
                <li><a data-rel="dialog">Wissenswertes</a></li>
                <li><a data-rel="dialog">&Auml;hnliche Waves</a></li>
            </ul>
            <button>Sync</button>
            <button>L&ouml;schen</button>
        </div><!-- /collapsible -->

    </div><!-- /collapsible set -->
</div><!-- /popup -->

第1波
  • 恩特弗农:
  • 冯·奥托:
  • Schwierigkeit:
  • 贝施雷邦:
  • 埃法伦斯伯里希特
  • 威斯森维特斯
  • Ä;hnliche波
同步 Lö;申
现在,我想向wavlistcontainer添加另一个可折叠文件,代码如下:。为此,我首先进行一个ajax调用并使用回调函数

function populateWaveList(){
    console.log("populateWaveList");
    requestWavesInArea(position.position.coords.latitude, position.position.coords.longitude,  
            position.position.coords.latitude+5, position.position.coords.longitude+5, 10, 
            function(waves){ //after AJAX call
            console.log(waves);
                for(var wavei in waves){ // for every element to add
                    var content = "";
                    var wave = waves[wavei];
                    console.log(wave);
                    var content =+ jQuery('somestring';     '<div data-role="collapsible" data-inset="false">'+
                                '<h2>'+wave.name+'</h2>'+
                                '<ul data-role="listView">'+    
                                        '<li>Entfernung von Autor: '+'...'+'</li>'+
                                        '<li>Autor: '+wave.creatorname+'</li>'+
                                        '<li>Beschreibung: '+wave.description+'</li>'+
                                        '<li>Umfang: '+'...'+'</li>'+
                                        '<li>Terrain: '+wave.terrainType+'</li>'+
                                        '<li>Autor: '+wave.creatorname+'</li>'+
                                        '<li>Schwierigkeit: '+wave.difficulty+'</li>'+
                                        '<li>ID: '+wave.waveId+'</li>'+
                                        '<li>Datum: '+wave.created+'</li>'+
                                    '</ul>'+
                                    '<button disabled="disabled">Sync</button>'+
                                    '<button disabled="disabled">L&ouml;schen</button>'+
                                '</div>');
                    console.log(content); // returns 'false'
                    $('#wavelistContainer').append(content);
                }
                $('#wavelistPopup').popup('open', { x : 460, y : 180 });
    });
}
函数populateWaveList(){
console.log(“populateWaveList”);
requestWavesInArea(position.position.coords.lation,position.position.coords.longitude,
位置。位置。坐标。纬度+5,位置。位置。坐标。经度+5,10,
函数(waves){//在AJAX调用之后
控制台日志(waves);
对于(var wavei in waves){//对于要添加的每个元素
var-content=“”;
var波=波[wavei];
控制台日志(wave);
var content=+jQuery('somestring';'')+
''波+波,名字+''+
“
    ”+ “
  • Entfernung von Autor:“+”…“+”
  • ”+ “
  • Autor:”+wave.creatorname+“
  • ”+ “
  • Beschreibung:”+wave.description+“
  • ”+ 乌木坊:“+”…“+””+ “
  • 地形:”+wave.terrainType+“
  • ”+ “
  • Autor:”+wave.creatorname+“
  • ”+ “
  • Schwierigkeit:”+波浪.难度+”
  • ”+ “
  • ID:”+wave.waveId+“
  • ”+ “
  • 基准面:”+wave.created+“
  • ”+ “
”+ “同步”+ “Lö;schen”+ ''); console.log(content);//返回'false' $('#wavelistContainer')。追加(内容); } $(#wavelistPopup').popup('open',{x:460,y:180}); }); }
当我打印内容时,会得到
false
,这让我非常困惑。有人能帮我吗

谢谢

有两个问题:

  • 您使用的是
    =+
    而不是
    +=
  • 您可以很快将html转换为jquery对象
这一行:

​var content =+ 'somestring';

​var content = 0 + 'somestring';
因此产生
NaN

而不是

content =+  jQuery('<div data-role="collapsible" data-inset="false">'+
content=+jQuery(“”+

content+=''+

请注意,为了获得更好的性能,您还应该只构建一个
内容
字符串,并且只添加一次(在循环之前声明它,并在循环之后追加它)。

您的代码有问题

    content =+  jQuery('<div data-role="collapsible" data-inset="false">'+
--------------^-----^
                                    '<h2>'+wave.name+'</h2>'+
                                    '<ul data-role="listView"'>+    
--------------------------------------------------------------^
content=+jQuery(“”+
--------------^-----^
''波+波,名字+''+

“如果您使用答案更改问题,它们将变得无关紧要……这不是您应该使用的方式,因此……您是对的,我再次执行了错误:DI相应地编辑了我的代码。现在我的问题是,创建的元素不可折叠。它们直接显示。@MJB代码看起来很好……很难找出问题所在。”。.检查所有div是否正确关闭..?只有一个div,即关闭可折叠文件的div,它是关闭的。@MJB我不知道这一点,如果使用
var content=“”构建它,我认为不会得到false;content+='somestring';
。检查您运行的代码。我相应地编辑了代码。现在我遇到的问题是,创建的元素不可折叠。它们直接显示。您甚至没有显示导致折叠的代码……我如何修复它?您的意思是什么。我尝试动态地重新创建上面的代码。
    content =+  jQuery('<div data-role="collapsible" data-inset="false">'+
--------------^-----^
                                    '<h2>'+wave.name+'</h2>'+
                                    '<ul data-role="listView"'>+    
--------------------------------------------------------------^
content +='<div data-role="collapsible" data-inset="false">'+
                                    '<h2>'+wave.name+'</h2>'+
                                    '<ul data-role="listView">'+