为函数提供要在变量名中使用的特定字符?

时间:2014-02-19 19:30:29

标签: javascript jquery

如果你像jQuery一样添加一个函数:

     $.fn.boxLoader = function() {
            var FilterSelect = ($("[id^='filter_a_selector_']"));
            // do things to FilterSelect
            return this;
    });

然后当发生特定动作时,我会运行该功能。

我有多个具有以下名称的元素:

#filter_a_selector_1
#filter_b_selector_1
#filter_a_selector_2
#filter_b_selector_2

所以我使用^选择器来选择它们,无论是以1还是2结尾,但是如何根据需要将函数作为“a”或“b”来提供?

我希望能够在某些情况下在filter_b_selector_上运行该函数,而不必复制该函数并将其称为新的+仅更改filter_a_selector以使其中包含“b”。

理想情况下,它看起来像这样:

 $.fn.boxLoader = function(filter_a_or_b) {
            var FilterSelect = ($("[id^='filter_{filter_a_or_b}_selector_']"));
            // do things to FilterSelect
            return this;
    });

或类似的

1 个答案:

答案 0 :(得分:2)

jQuery接受字符串连接:

 $.fn.boxLoader = function(filter_a_or_b) {
        var FilterSelect = ($("[id^='filter_"+ filter_a_or_b + "_selector_']"));
        // do things to FilterSelect
        return this;
 });