我正在尝试使用JavaScript
选择器在jQuery
对象中动态创建密钥:
{
$("form").children("input[type=hidden]").attr("name"): $("form").children("input[type=hidden]").val()
}
但这很突破。是否可以通过这种方式动态创建密钥?
答案 0 :(得分:3)
您可以用两个语句来完成:
var obj = {};
obj[$("form").children("input[type=hidden]").attr("name")]
= $("form").children("input[type=hidden]").val();
我个人这样写它是为了避免重新创建jQuery集:
var obj = {}, $obj = $("form").children("input[type=hidden]");
obj[$obj.attr("name")] = $obj.val();
另请注意,只有jQuery集只包含一个元素时才有意义。
答案 1 :(得分:1)
您还可以同时使用多个字段:
var obj = {};
$('form > input[type="hidden"]').each(function (i, el) {
obj[el.name] = el.value;
});
如果您只有一个隐藏字段,则会出现另一个更精彩的版本:
var obj = $('form > input[type="hidden"]').serializeArray()[0];