Jquery&函数结果,作为属性名称

Jquery & function result, as property name

本文关键字:属性 结果 amp 函数 Jquery      更新时间:2023-09-26

我想使用jquery获得一个输入名称,作为属性名称。

html

<input name="data[First][Second]" />

脚本

$.post(
   '/url', 
   {
      $("input").prop("name"): $("input").val()
   }
);

如何(直接)做到这一点?

不能在文字中使用变量值作为属性名称。你必须分两步完成,并使用括号表示法:

var obj = {};
obj[$("input").prop("name")] = $("input").val();
$.post('/url', obj);

如果你不想打破流程,你想要一个表达式,你可以使用一个函数表达式:

$.post(
   '/url', (function(){
       var obj = {};
       obj[$("input").prop("name")] = $("input").val();
       return obj;
    })()
);

一个非常小的优点是,您不会用新变量污染外部范围,但它通常不会更清楚。