zepto和jquery的区别?
1、针对移动端程序zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件、swipe事件),zepto是不支持IE浏览器的。
2、DOM操作的区别添加id时jquery不会生效而zepto会生效。
3、事件触发的区别使用jquery时load事件的处理函数不会执行;使用zepto时load事件的处理函数会执行。
4、事件委托的区别zepto中,选择器上所有的委托事件都依次放入到一个队列中,而在jquery中则委托成独立的多个事件。5、js精简方面zepto是jquery的精简,针对移动端去除了大量jquery的兼容代码。6、其他方面zepto中没有为原型定义extend方法而jquery有;zepto的each方法只能遍历数组,不能遍历JSON对象。
如何通过js给某个元素设置样式?
事件委托,原生js;
伪代码:
点击ul后清空ul下所有li的类名(使其所有元素不可见);
获取被点击的dom节点li(
event.target
);改变被点击的元素类名(使其可见);
解释:
利用addEventListener给最上级元素绑定点击事件;
点击后触发匿名函数,清除除了当前点击的节点外所有的子元素类名
(可使用event.target获取当前被点击的dom节点)
(清除其他类名可用jquery的类选择器以及jquery的removeClass函数);
给当前点击的元素赋予新的类名,改变样式。