用jquery附加到div

我有以下的HTML代码。它是一个可折叠的listItems中的内弹出:用jquery附加到div

<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 -->

现在我想另一个可折叠添加到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 });

});

}

当我打印的内容,我得到false这greately混淆了我。任何人都可以帮助我吗?

谢谢

回答:

两个问题:

  • 你使用=+代替+=
  • 你转换很快的HTML到jQuery对象

这条线:

​var content =+ 'somestring'; 

相同

​var content = 0 + 'somestring'; 

等产生NaN。取而代之的

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

content += '<div data-role="collapsible" data-inset="false">'+ 

请注意,您应该也为更好的性能,仅生成一个content字符串和循环之前添加它只有一次(声明它,并追加它在循环之后)。

回答:

你有问题,你的代码

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">'+

以上是 用jquery附加到div 的全部内容, 来源链接: utcz.com/qa/257803.html

回到顶部