Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态jQuery方法链_Javascript_Jquery - Fatal编程技术网

Javascript 动态jQuery方法链

Javascript 动态jQuery方法链,javascript,jquery,Javascript,Jquery,因此,我确信答案很简单,但我正在尝试找出如何将jQuery方法链作为参数传递到函数中。其思想是在DOM对象上执行的方法可以是动态的。我正在尝试编写一些qUnit测试,集中这种功能会很有用。例如: 功能变更元素(el、方法){ $(el).方法; } var elMethods1=$(this).is('visible'); var elMethods2=$(this.css('background','blue')。append('added text'); 变量el1=$('.contain

因此,我确信答案很简单,但我正在尝试找出如何将jQuery方法链作为参数传递到函数中。其思想是在DOM对象上执行的方法可以是动态的。我正在尝试编写一些qUnit测试,集中这种功能会很有用。例如:

功能变更元素(el、方法){
$(el).方法;
}
var elMethods1=$(this).is('visible');
var elMethods2=$(this.css('background','blue')。append('added text');
变量el1=$('.container1');
var el2=$('.container2');
var result1=changelement(el1,elMethods1);//期望返回true/false
console.log(result1);
var结果2-变更元素(el2,elMethods2);//希望返回DOM对象
console.log(result2)

您可以将每个方法字符串编写为一个短函数,如下所示:

var elMethods1 = function(jq) { return jq.is('visible'); }
var elMethods2 = function(jq) { return jq.css('background', 'blue').append('appended text'); }

var el1 = $('.container1');
var el2 = $('.container2');

var result1 = elMethods1(el1); // expect to return true/false
console.log(result1);

var result2 = elMethods2(el2); // expect to return DOM object
console.log(result2);

您可以对函数使用bind,以您想要的方式获取具有此集合的函数对象。e、 绑定(el),所以无论什么方法,“this”现在都是el