Javascript 我怎样才能更有效地重写它
我必须相信有更好的方法来编写下面的代码。提前谢谢Javascript 我怎样才能更有效地重写它,javascript,jquery,Javascript,Jquery,我必须相信有更好的方法来编写下面的代码。提前谢谢 var hProtein = $('#protein-lbl'); var hCarb = $('#carb-lbl'); var hFat = $('#fat-lbl'); var hTotal = $('#totalCalories'); // Normal Calc vars var nProtein = $('#protein-normal-lbl'); var nCarb = $('#carb-normal-lbl'); var nF
var hProtein = $('#protein-lbl');
var hCarb = $('#carb-lbl');
var hFat = $('#fat-lbl');
var hTotal = $('#totalCalories');
// Normal Calc vars
var nProtein = $('#protein-normal-lbl');
var nCarb = $('#carb-normal-lbl');
var nFat = $('#fat-normal-lbl');
var nTotal = $('#totalCalories-normal');
// Hide calculations until bodyweight is entered
hProtein.hide();
hCarb.hide();
hFat.hide();
hTotal.hide();
nProtein.hide();
nCarb.hide();
nFat.hide();
nTotal.hide();
为什么不将标签包装在字段集中并隐藏字段集呢?为什么不将标签包装在字段集中并隐藏字段集呢?也许给HTML元素一个类就行了
var $ele = $('.class-name');
$ele.hide();
也许给HTML元素一个类就行了
var $ele = $('.class-name');
$ele.hide();
通过这种方式向元素添加公共类并隐藏它
$('.common-class-name').hide()
或
将所有元素放在单div wrap中,并通过该id隐藏它将公共类添加到元素中,通过这种方式隐藏它
$('.common-class-name').hide()
或
将所有元素放在单div wrap中,并通过该id隐藏它。最好的解决方案是在HTML/CSS中指定页面的默认条件,这样它一开始就可以正确显示,而不必运行一堆javascript来设置默认条件 因此,如果您试图在页面加载时建立默认条件,请在HTML中将所有这些元素的显示样式更改为正确的状态 或者更好的是,给它们一个通用的类名,并创建一个CSS样式的规则,以便它们最初都是隐藏的。在标记/CSS中执行此操作将防止它们在脚本运行时显示和隐藏-它们将以正确的状态开始 CSS:
.initialHidden{
显示:无;
}
HTML:
最好的解决方案是在HTML/CSS中指定页面的默认条件,这样它一开始就可以正确显示,而不必运行一堆javascript来设置默认条件 因此,如果您试图在页面加载时建立默认条件,请在HTML中将所有这些元素的显示样式更改为正确的状态 或者更好的是,给它们一个通用的类名,并创建一个CSS样式的规则,以便它们最初都是隐藏的。在标记/CSS中执行此操作将防止它们在脚本运行时显示和隐藏-它们将以正确的状态开始 CSS:
.initialHidden{
显示:无;
}
HTML:
我会这样做:
$([
'#protein-lbl',
'#carb-lbl',
'#fat-lbl',
'#totalCalories',
'#protein-normal-lbl',
'#carb-normal-lbl',
'#fat-normal-lbl',
'#totalCalories-normal'
].join()).hide();
我会这样做:
$([
'#protein-lbl',
'#carb-lbl',
'#fat-lbl',
'#totalCalories',
'#protein-normal-lbl',
'#carb-normal-lbl',
'#fat-normal-lbl',
'#totalCalories-normal'
].join()).hide();
类
正是为此目的而设计的:
适用于所有元素。然后你可以做$(“.hideEle”).hide()
。我在想纯javascript,是的。。。不是最聪明的饼干。我现在使用的是css类。类
正是为了这个目的而设计的:
用于所有元素。然后你可以做$(“.hideEle”).hide()
。我在想纯javascript,是的。。。不是最聪明的饼干。我现在正在使用一个css类。你可能想添加更多解释。你可能想添加更多解释。我不知道为什么我没有想到。。。谢谢@BRogers-你为什么用JS而不是CSS设置初始状态?我不知道为什么我没有想到。。。谢谢@BRogers-你为什么要用JS而不是CSS设置初始状态?为什么要把它们都列在一个数组中,而不是只使用一个逗号分隔的字符串?这只是避免使用looooong字符串的一种方法:D我知道你在想什么,我同意,这是没有用的,不推荐使用;)为什么要将它们全部列在一个数组中,而不是只使用一个逗号分隔的字符串?这只是避免使用looooong字符串的一种方法:D我知道你在想什么,我同意,这是无用的,不推荐使用;)