Tag: 扩展

jQuery展开/折叠分层表行

我正在寻找一种使用jQuery扩展/折叠分层表行的有效方法。 问题是,扩展和折叠function不同。 最初,只显示类level_0的行,所有其他行都被隐藏。 expand应该只显示下一个级别,因此单击row id=10应该只显示id=11且id=14 。 另一方面,崩溃应该以比当前行更深的级别折叠所有连续行。 例如,单击行id=10上的折叠应隐藏具有ID 11, 12, 13, 14行(如果它们可见)。 表数据如下: … … … … … … 我的非工作解决方案: $(‘#mytable tr’).live(‘click’, function() { var toggleClass = ‘parent_’ + $(this).attr(‘id’); $(this).nextAll(‘tr’).each(function() { if ($(this).is(‘.’+toggleClass)) { $(this).toggleClass(“showme”); } }); }); 问题是,它只会折叠下一级行。 仍显示点击行下方的可见和更深级别的行。 谁能给我一些提示,告诉我如何以有效的方式做到这一点? 如果需要,可以调整HTML代码。 谢谢你的任何提示。

将ES6插件扩展为jQuery原型

我想请一些帮助,因为我无法使用模块和类转换ES6中的经典jQuery(v2)插件。 在ECMAScript 5中,我们可以将jQuery插件附加到jQuery原型中,如下所示: app.js – 通过HTML 标签加载jQuery $.fn.myPlugin = function() {}; $(‘div’).myPlugin(); 它工作:)。 在ES6中,我会写这样的东西: myPlugin.es6: import $ from ‘jquery’; export default class myPlugin extends $ { // Could i use constructor() method ??? } app.es6: import $ from ‘jquery’; import myPlugin from ‘myPlugin.es6’; $(‘div’).myPlugin(); 最后,它不起作用…… 我搜索过,之前没有人问过这个问题。 我使用Babel将ES6转换为ES5。

为什么jQuery Extend Deep Copy不能递归复制对象?

我到处搜索,发现类似的问题,答案并没有真正解决我的问题所以我道歉,如果这似乎是重复,但从我的实验中看来,jQuery的深拷贝function实际上并没有像它描述的那样工作(或也许我误解了它的描述)。 这是一个展示我遇到的问题的例子: http : //jsfiddle.net/wcYsH/ 或者这个下载: https : //github.com/kevroy314/jQuery-Extend-Test 为什么在操作深层副本时,前一个副本中的数据会发生变化?

jQuery fn.extend({bla:function(){}}与jQuery.fn.bla

好吧,我想我在jQuery.extend和jQuery.fn.extend之间有所区别? 通用扩展可以扩展任何对象,而fn.extend用于插件函数,可以使用一些内部jquery voodoo直接从jquery对象调用。 所以似乎人们会以不同的方式调用它们。 如果使用通用扩展来通过添加函数y来扩展对象obj,那么该方法将附加到该对象obj.y()但是如果使用fn.extend则它们将直接附加到jquery对象$ .y()。 ……我有没有正确的是或否,如果没有,我的理解是什么? 现在我的问题: 我正在阅读的这本书主张使用 jQuery.fn.extend({ a: function() { }, b: function() { } }); 语法,但在文档中说 jQuery.fn.a = function() { }; 我想如果你想要b也一样 jQuery.fn.b = function() { }; 这些在function和性能方面是否相同,如果没有,有什么区别? 非常感谢你。 我在挖jQuery!

jQuery插件 – 初始化后更新设置

我有一个jQuery插件,我希望能够动态更改选项,例如: $(‘.element’).pwstabs(‘options’,’effect’,scale)或类似的东西。 我尝试添加update: function ,尝试添加Plugin.prototype.update ,但仍然无法弄清楚如何做到这一点:) 这是插件的结构: ;(function ($, window, document, undefined) { var pluginName = “pwstabs”, defaults = { effect: ‘scaleout’, defaultTab: 1, containerWidth: ‘100%’, tabsPosition: ‘horizontal’, horizontalPosition: ‘top’, verticalPosition: ‘left’, responsive: false, theme: ”, rtl: false, controlls: false, next: ”, prev: ”, first: ”, last: ”, auto: false, play: ”, pause: ” }; […]

jquery .serializeArray(); 在顶部添加另一个值以传递给ajax

我正在做以下 var data = $(form).serializeArray(); // now i want to add another value on this data data.username = ‘this is username’; 我想知道如何在执行serializeArray()之后添加另一个值,我尝试了所有我知道的事情,但没有任何东西可以使它工作。 任何想法请。

如何创建简单的jQuery插件?

这个测试插件应该像这样工作:单击一个元素时,它会向下移动。 就那么简单。 jQuery.fn.moveDown = function(howMuch){ $(this).css(“border”, “1px solid black”); $(this).click(function(){ $(this).css(“position”, “relative”); $(this).animate({top: ‘+=’+howMuch}); }); } 问题是,当单击一个元素时,它不仅会移动被点击的元素,还会移动插件所应用的所有其他元素。 这是什么解决方案?

如何扩展现有的jQuery UI小部件?

我正在使用jQuery v1.8.3和jQuery UI v1.9.2。 我想通过添加和覆盖一些选项和方法来扩展现有的jQuery UI小部件 (在我的情况下是自动完成小部件),但保留其他function,如官方发行版中的那些。 我怎样才能使其成为“正确的”(也许是“标准”)方式? PS :我在网上搜索( 1,2 ,…),我发现文档主要与创建新的 jQuery UI小部件相关,但不是扩展现有的小部件。