DRY原则:引用jQuery选择器避免重复
DRY principle: reference jQuery selector to avoid duplicates
假设我有一个函数,里面有一个对象
function MyFunction(){
var options = {
placeholder: $('#select option[value="-1"]'),
first: $('#select option[value="-1"]').next()
};
}
你看,jQuery 对象 $('#select option[value="-1"]')
在 placeholder
和 first
项目中都是重复的。这有效,但 PHPStorm 警告我有关重复的 jQuery 选择器
有什么方法可以在 first
项中引用 placeholder
值?排序如下:
placeholder: $('#select option[value="-1"]'),
first: this.placeholder.next()
(当然提供的例子不行)
像这样?
function MyFunction(){
var el = $('#select option[value="-1"]'),
options = {
placeholder: el,
first: el.next()
};
}
只需先将其创建为变量即可。
function MyFunction(){
var selected = $('#select option[value="-1"]');
var options = {
placeholder: selected,
first: selected.next()
};
}
不使用附加变量:
function MyFunction(){
var options = {};
options.placeholder = $('#select option[value="-1"]');
options.first = options.placeholder.next();
}
假设我有一个函数,里面有一个对象
function MyFunction(){
var options = {
placeholder: $('#select option[value="-1"]'),
first: $('#select option[value="-1"]').next()
};
}
你看,jQuery 对象 $('#select option[value="-1"]')
在 placeholder
和 first
项目中都是重复的。这有效,但 PHPStorm 警告我有关重复的 jQuery 选择器
有什么方法可以在 first
项中引用 placeholder
值?排序如下:
placeholder: $('#select option[value="-1"]'),
first: this.placeholder.next()
(当然提供的例子不行)
像这样?
function MyFunction(){
var el = $('#select option[value="-1"]'),
options = {
placeholder: el,
first: el.next()
};
}
只需先将其创建为变量即可。
function MyFunction(){
var selected = $('#select option[value="-1"]');
var options = {
placeholder: selected,
first: selected.next()
};
}
不使用附加变量:
function MyFunction(){
var options = {};
options.placeholder = $('#select option[value="-1"]');
options.first = options.placeholder.next();
}