twi*_*ter 2 javascript jquery refactoring
我在一大堆单选按钮组上做同样的选择.唯一改变的是name.
var fcolor = $(this).closest('.branch').find('input[name="fcolor"]:checked').val();
var bcolor = $(this).closest('.branch').find('input[name="bcolor"]:checked').val();
var sidec = $(this).closest('.branch').find('input[name="sidec"]:checked').val();
var linec = $(this).closest('.branch').find('input[name="linec"]:checked').val();
Run Code Online (Sandbox Code Playgroud)
如何简化此代码,以便我不重复这样的代码?
如果您对具有name属性的所有输入感兴趣,我会全部选择它们,创建属性和值的对象.
如果你需要挑出某些,给它们一个共同的类,然后选择它们.
var props = {};
$(this).closest('.branch').find('input[name]:checked').each(function() {
props[ this.name ] = this.value;
});
Run Code Online (Sandbox Code Playgroud)
你最终得到这样的结构:
props = {
fcolor: "some value",
bcolor: "some value",
sidec: "some value",
linec: "some value"
};
Run Code Online (Sandbox Code Playgroud)
......可访问:
props.fcolor; // "some value"
Run Code Online (Sandbox Code Playgroud)