0
您好我有一個從專家的建議如下,我試圖根據這些建議,重建我的代碼:使用jQuery傳遞JSON數據轉換成的DIV
- 從$。每(),您可以返回true或假。如果您返回false,則 循環停止。
- 請勿嘗試從連接字符串構建HTML。這很容易被XSS 漏洞輕易避免。 jQuery爲您提供了安全地構建HTML的工具 。
- 通常,出於同樣的原因,儘量避免使用.html(), ,特別是如果您已經有DOM元素可以使用。
- 請勿使用內聯事件處理程序,如onclick。完全一樣。永遠。
這是我工作的新代碼:
var page = 1;
$(document).on('click', '#devotionclick', function blogs() {
$('#postlist').empty();
// $('#category').prepend('<div class="categories_listing"><span data-type="blogs" data-category="5">Blog Category</span></div>');
var count = "5";
var result = $.getJSON('http://howtodeployit.com/api/get_posts/?count=' + count + '&page=' + page, function (data, status) {
if (data !== undefined && data.posts !== undefined) {
$.each(data.posts, function (i, item) {
var str = item.title;
$('#postlist').append('<div class="article"' + item.id + '"><div>' + item.title + '</div><div>' + item.excerpt + '</div></div>');
if (data !== undefined) {
$('#stats').text('Page ' + data.query.page + ' of ' + data.pages + ' | Total posts ' + data.count_total + '');
}
if (data.query.page < data.pages) {
$("#loadmore").show();
} else {
$("#loadmore").hide();
}
});
page++;
}
});
$('#postlist').append('<div id="loadmore"><div id="stats"></div><div id="loadmore">load more</div></div>');
$('#loadmore').click(blogs);
});
HTML:
!-- Page: home -->
<div id="home" data-role="page">
<div class="ui_home_bg" data-role="content"></div>
<div data-role="listview">
<a href="#devotion" id="devotionclick" data-role="button">Daily Devotional Messages</a>
</div><!-- links -->
</div><!-- page -->
<!-- Page: Daily Devotional Messages -->
<div id="devotion" data-role="page">
<div data-role="header" data-position="fixed">
<h2>Daily Devotional Messages</h2>
</div><!-- header -->
<div data-role="content" id="postlist"> </div><!-- content -->
</div><!-- page -->
我現在我遇到的問題是:
當我點擊它加載前5個帖子的按鈕,但是當我點擊'加載更多'文本時,它會加載下一個5,而不是追加到現有的列表。
的列表不顯示這應該是一個可點擊ListView項