0

jQuery UI buttonsを使用して、ページ上のすべてのチェックボックスのスタイルを設定できるようにしたいと考えています。ただし、多くのボタンにはラベルがありません。私がこのようなことをする方法はありますか:

$(".unlabeled-checkbox").append("<label> </label>").button();

しかし、ラベルの「for」属性も適切に記入しますか?

4

2 に答える 2

2

wrap()メソッドに実行する関数を渡すことができます。これを試してください:

$('.unlabeled-checkbox').wrap(function() {
    return $('<label></label>').attr('for', $(this).prop('name'));
});

関数内では、配列内thisの現在の要素を参照します。.unlabeled-checkbox

于 2013-01-29T14:58:10.567 に答える
1

すべてのチェックボックスをラップするには、jQuery の「ラップ」機能を使用できます。

$(".unlabeled-checkbox").wrap("<label></label>");

それはHTMLを生成します:

<label>
    <input class="unlabeled-checkbox" type="checkbox" value="a" />
</label>
<label>
    <input class="unlabeled-checkbox" type="checkbox" value="b" />
</label>

ラップアラウンド<label>する<input>場合、「for」属性は必要ありません。ラベルをクリックすると、内側のチェックボックスがクリックされます。

于 2013-01-29T15:12:25.470 に答える