javascript - 动态 jQuery 方法链

标签 javascript jquery

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

function changeElement(el, methods){
  $(el).methods;
}

var elMethods1 = $(this).is('visible');
var elMethods2 = $(this).css('background', 'blue').append('appended text');

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

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

var result 2 - changeElement(el2, elMethods2); // expect to return DOM object
console.log(result2);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class='container1'></div>
<div class='container2'></div>

最佳答案

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

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);

关于javascript - 动态 jQuery 方法链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34862946/

相关文章:

javascript - 在 Laravel 4 中使用 AJAX 提交表单

php - 使用 Wordpress Infinite Scroll 加载产品后再次重新初始化 Woocommerce 脚本

jquery - AJAX 聊天 - 自动向下拖动滚动条,但当用户向上滚动时不拖动它?

javascript - 如何使用 javascript 替换除数字 [0-9] 之外的所有字符?

jquery - 在 jQuery 中选择元素数组

javascript - d3 select 抛出无效查询选择器错误

javascript - jQuery 中的 Tablesorter 和多文本提取?

javascript - 我应该在更改 div 内容之前删除事件吗?

javascript - javascript: 递归函数在循环多次时崩溃

javascript - jQuery "on"模糊事件