1

私は以下を使用しています:

var link = {};
link.action = $link.attr('data-action') || '';
link.dialogType = $link.attr('data-dialogType') || '';
link.params = $link.attr('data-params') || '';
link.title = $link.attr('title') || '';
link.viewURL = $link.attr('data-href') || '';
link.entity = $link.attr('data-entity') || '';
link.row = $link.attr('data-row');

しかし、これを行うためのより良い方法はありますか?

4

2 に答える 2

1

データセット プロパティを使用できます。

読み取りモードと書き込みモードの両方で、要素に設定されたすべてのカスタム データ属性 (data-*) へのアクセスを許可します。これは、カスタム データ属性ごとに 1 つのエントリを持つ DOMString のマップです。

var elm = $link[0], data = elm.dataset, link = { title: elm.title };
for (var i in data) link[i] = data[i]

http://jsfiddle.net/AdzE3/

于 2012-10-07T06:16:43.247 に答える
1

これを試して:

var link = {
   action : $link.data('action') || '',
   dialogType : $link.data('dialogType') || '',
   params : $link.data('params') || '', 
   title : $link.attr('title') || '', 
   viewURL : $link.data('href') || '', 
   entity : $link.data('entity') || '',
   row : $link.data('row') 
}; 
于 2012-10-07T06:13:03.670 に答える