それは質問のタイトルとしてはそれほど素晴らしいものではないので、誰かがそれを読んだ後にそれを言葉にするより良い方法を持っているなら、それはありがたいです。
邪魔にならない開示、これは宿題です。今週の課題は、既存のプレーンJSコードをリファクタリングしてJQMを使用することです。変換に問題があり、よくわかりません。コードは次のとおりです。
function populateItemLinks(key, listItem)
{
var ecLink = $('<a class="padRightRed"></a>');
ecLink.attr("href", "#");
ecLink.attr("key", key);
ecLink.html("Edit Character");
ecLink.on("click", editCharacter);
ecLink.appendTo(listItem);
console.log(ecLink.attr("key"));
ecLink = $('<a class="padLeftRed"></a>');
ecLink.attr("href", "#");
ecLink.attr("key", key);
ecLink.html("Delete Character");
ecLink.on("click", deleteCharacter);
ecLink.appendTo(listItem);
console.log(ecLink.attr("key"));
};
function deleteCharacter()
{
var toDelete = confirm("Do you wish to delete this character?");
if (toDelete)
{
console.log(this.key);
alert("Character was deleted.");
localStorage.removeItem(this.key);
$.mobile.changePage("#home");
}
else
{
alert("Character was not deleted.");
}
}
問題は、populateItemLinks関数のリンクの反復として.key属性を使用することです。それが海峡のJavaScriptだったとき、私はlinkname.key=key;を実行することができました。次に、「this.key」を使用してdeleteCharacter関数でキーを取得します。さて、今では常に未定義が返され、JQM以外のバージョンと同じ機能を取得するために複雑にならない方法は考えられないので、助けていただければ幸いです。