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"]')placeholderfirst 项目中都是重复的。这有效,但 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();
}