用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">Ähnliche Waves</a></li>
</ul>
<button>Sync</button>
<button>Lö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ö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