次のことを行うための、より簡潔でおそらくよりjQuery-eの方法を探しています。lbl
div であるオブジェクトがあります。div 内に含まれているのは、オブジェクトのfirstName
andlastName
プロパティである span タグです。lbl
したがって、これまでのところ、次の HTML があります。
<div class="label">
<span class="firstName">John</span>
<span class="lastName">Doe</span>
</div>
次のフィドルを検討してくださいhttp://jsfiddle.net/VfErV/
$('#btnSubmit').click(function ()
{
var lbl = $('<div>').addClass('label');
//I need to be able to access the child elements of the parent div
//via the dot operator
firstName = $('<span>').text('test1').addClass('firstName');
lastName = $('<span>').text('test2').addClass('lastName');
lbl.append(firstName);
lbl.append(lastName);
lbl.firstName = firstName;
lbl.lastName = lastName;
$('#page').append(lbl);
console.log(lbl.firstName.text());
//span tag is never added to the div
var lbl2 = $('<div>').addClass('label');
lbl2.firstName = $('<span>').text('test2').addClass('firstName');
$('#page').append(lbl2);
});
動作についてはフィドルを参照してください。親 div コンテナーの子オブジェクトのフォント サイズ、境界線などを制御できる必要があり、lbl
通常の DOM 要素としてページに表示されます。最初の lbl コントロールがページに追加されるまでのすべての JS が機能します。しかし、これは私には不格好に見えます。DOM要素の子要素を親オブジェクトのプロパティにするより簡単/簡潔にするより良い方法はありますか?