DRY原则:引用jQuery选择器以避免重复

时间:2018-05-22 21:47:04

标签: jquery dry

假设我有一个带有对象的函数

function MyFunction(){
    var options = {
        placeholder: $('#select option[value="-1"]'),
        first: $('#select option[value="-1"]').next()
    };
}

您可以看到,jQuery对象$('#select option[value="-1"]')placeholderfirst项目中都是重复的。这有效,但PHPStorm警告我重复的jQuery选择器

有没有办法可以引用placeholder项中的first值?排序如下:

placeholder: $('#select option[value="-1"]'),
first: this.placeholder.next()

(当然所提供的示例不起作用)

3 个答案:

答案 0 :(得分:3)

像这样?

function MyFunction(){
    var el = $('#select option[value="-1"]'),
        options = {
            placeholder: el,
            first: el.next()
        };
}

答案 1 :(得分:3)

首先将其创建为变量。

function MyFunction(){
    var selected = $('#select option[value="-1"]');
    var options = {
        placeholder: selected,
        first: selected.next()
    };
}

答案 2 :(得分:1)

不使用其他变量:

function MyFunction(){
    var options = {};
    options.placeholder = $('#select option[value="-1"]');
    options.first = options.placeholder.next();
}