Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript是否有在对象中设置字段的速记方法?_Javascript_Jquery - Fatal编程技术网

javascript是否有在对象中设置字段的速记方法?

javascript是否有在对象中设置字段的速记方法?,javascript,jquery,Javascript,Jquery,我正在使用以下工具: 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-hre

我正在使用以下工具:

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');
但是有更好的方法吗?

试试这个:

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') 
}; 

您可以使用dataset属性

允许在读取和写入模式下访问元素上设置的所有自定义数据属性(data-*)。它是DOMString的映射,每个自定义数据属性对应一个条目


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