PhoneGap と JQuery Mobile を使用してアプリを作成しています。ここでは、バックエンド サービスからデータを読み取り、受信した内容に基づいてリスト項目 (場合によっては div も) を追加/削除する予定です。当然、長時間の使用でアプリの速度が低下しすぎないようにしたいと考えています。
HTML の追加/削除に関して、一般的なベスト プラクティスはありますか? 私はこれにかなり慣れていないので、DOMがどのように機能するかなどをよく理解していません。
現在、JQuery の追加を使用して HTML の行をコンテナー div に追加し、.html("") を使用して要素を削除しています。これは受け入れられますか、またはこれを行うためのより良い方法はありますか?
編集: ご参考までに、私は JQuery Mobile 1.1.0 と Phonegap 1.9.0 を使用しています。参考になるかどうかわかりませんが、どうぞ。
できるだけ多くのモバイル デバイスでこのアプリを使用したいと考えていますが、現在は iOS と Android が最大の市場だと思います。
明確にするために、私は実際に大きな問題に遭遇したことはありません (まだ)。後で何かに遭遇し、問題を修正するために大量のコードを実行する必要がないようにしたかっただけです。.append よりも innerHTML() を使用する、remove と innerHTML("") などを使用するなど、一連のベスト プラクティスに同意できれば、誰にとっても役立つと考えました :P
いくつかのコード例:
function changeList(sel){
var xmlfolder="/"
var name = sel[sel.selectedIndex].value+".xml";
var location= xmlfolder+name;
var list = document.getElementById("opList"); //opList is the container
list.innerHTML=""; //what i'm using to remove the previous occupant
//: is there a better way of doing this?
//reading stuff
$.ajax({
type:'GET',
cache: false,
url: location,
dataType:"xml",
success: function(data){
xmlInfo=data;
var i=0;
$(data).find("data").each(function(){
var string = "";
var sName=$(this).find("name").text();
string +=("<li>");
string +=("<a href=#details data-transition = slide >");
string+= sName;
string+="</a></li>";
$('#opList').append(string); //is there a better way of appending?
i++;
})
$('#opList').listview('refresh');
},
error:function(e){
alert("failed D:");
console.log(e);
}
});
}