リストをループしていて、リスト要素ごとにjQuery Mobile ラジオ ボタンを作成する必要があります。すべてのラジオ ボタンは 内に配置する必要があり、div class="radio-controls"
完成すると DOM に追加されます。
ここに私がしようとしているものがあります:
var label = $("<label/>").attr("data-" + $.mobile.ns + "iconpos", "notext");
barrel = [];
for (var i = 0; i < myListitems.length; i += 1) {
var item = myListitems[i];
barrel.push(
$("<input type='radio' name='radio-" + this.uuid + "' value='radio-" + this.uuid + "-" + i +"' />" )
.wrap(label)
.checkboxradio()
);
}
}
ループの後、追加する必要がある jQuery 配列があります。
しかし、makeArrayは失敗して戻ります
context is undefined
jQuery内
if ( ( context.ownerDocument || context ) !== document ) {
これは、ドキュメントから選択された要素で構成されていない配列が原因であると言われています(私のものはまだDOMに追加されてdocument.createFragement
いません)が、jQueryオブジェクトをフラグメントに追加できないと思うため、機能しません。これを行う:
var fragment = document.createDocumentFragment();
// in my loop
bullet = $("<input type='radio' name='radio-" + this.uuid + "' value='radio-" + this.uuid + "-" + i +"' />" )
.wrap(label)
.checkboxradio()
fragment.appendChild( bullet );
// after loop, add to document
fragment[o.bulletsPos === "top" ? prependTo : appendTo](el);
このエラーを返します:
Value does not implement interface Node.
質問: jQuery アイテムのコレクションを生成し、これを DOM に追加する方法はありますか? もちろん、すべての項目を 1 つずつ挿入することもできますが、全体を動的に作成して 1 回挿入したいと考えています。
手伝ってくれてありがとう!