0

まだDOMにない要素にjQueryでデータ属性を設定するにはどうすればよいですか?

コード:

   var panelHeading = $('<div/>', {class:'panel-heading', href:'#'+username+'PanelContent'});
   panelHeading.data('toggle', 'collapse').data('target',"#"+username+"PanelContent");

ドキュメントに追加すると、データ属性が表示されません。他の属性は表示されます。

4

3 に答える 3

5

jQuery のdata()メソッドは HTML5data-属性を設定せず、実際には高レベルのデータを DOM 要素に格納します。data()属性を使用できないことを使用して、複雑なオブジェクトと関数を格納できます。

本当に属性を設定する必要がある場合は、などを使用attr('data-toggle','collapse')します。しかし、以前のコメントで述べたように、最初の宣言で設定しないのはなぜですか?

于 2014-03-17T19:10:45.490 に答える
4

要素の作成時にデータ属性を追加できます

var panelHeading = $('<div />', {
    'class'       : 'panel-heading', 
    href          : '#'+username+'PanelContent',
    'data-toggle' : 'collapse',
    'data-target' : '#'+username+'PanelContent'
});

を使用data()すると、データが jQuery の内部に保存されます。HTML 属性は作成されないため、Bootstrap などの属性ではうまく機能しません。

于 2014-03-17T19:10:27.413 に答える
0

以下を使用できます。

var panelHeading = $('<div data-target="' + '#'
    + username + 'PanelContent' + '"/>');
于 2014-03-17T19:08:16.200 に答える