❶ Web前端初学者应该学习的jQuery技巧
今天小编要跟大家分享的文章是关于
Web前端初学者应该学习的jQuery技巧!jQuery在Web前端学习里是很重要的一块知识,很多人都在这阶段学习的时候遇到问题,那么作为刚刚接触web前端的初学者来说都应该学习哪些Web前端初学者应该学习的jQuery技巧呢?让我们一起来看一看吧!
1、关于页面元素的引用
通过jquery的$引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。
2、jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。普通的dom对象一般可以通过$转换成jquery对象。
如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:$("#msg")[0],$("div").eq(1)[0],$("div").get[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的:
$("#msg").html;
$("#msg")[0].innerHTML;
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;
3、如何获取jQuery集合的某一项
对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个
元素的内容。
有如下两种方法:
$("div").eq(2).html;//调用jquery对象的方法
$("div").get(2).innerHTML;//调用dom的方法属性
4、同一函数实现set和get
Jquery中的很多方法都是如此,主要包括如下几个:
·$("#msg").html;//返回id为msg的元素节点的html内容。
·$("#msg").html("newcontent");
·//将“newcontent”作为html串写入id为msg的元素节点内容中,页面显示粗体的newcontent
·$("#msg").text;//返回id为msg的元素节点的文本内容。
·$("#msg").text("newcontent");
·//将“newcontent”作为普通文本串写入id为msg的元素节点内容中,页面显示newcontent
·$("#msg").height;//返回id为msg的元素的高度
·$("#msg").height("300");//将id为msg的元素的高度设为300
·$("#msg").width;//返回id为msg的元素的宽度
·$("#msg").width("300");//将id为msg的元素的宽度设为300
·$("input").val(");//返回表单输入框的value值
·$("input").val("test");//将表单输入框的value值设为test
·$("#msg").click;//触发id为msg的元素的单击事件
·$("#msg").click(fn);//为id为msg的元素单击事件添加函数
·同样blur,focus,select,submit事件都可以有着两种调用方法
5、集合处理功能
·$.extend({
·min:function(a,b){returna
·max:function(a,b){returna>b?a:b;}
·});//为jquery扩展了min,max两个方法
·使用扩展的方法(通过“$.方法名”调用):
·alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));
6、支持方法的连写
所谓连写,即可以对一个jquery对象连续调用各种不同的方法。
例如:
$("p").click(function{alert($(this).html)})
.mouseover(function{alert('mouseoverevent')})
.each(function(i){this.style.color=['#f00','#0f0','#00f'][i]});
7、操作元素的样式
主要包括以下几种方式:
·$("#msg").css("background");//返回元素的背景颜色
·$("#msg").css("background","#ccc")//设定元素背景为灰色
·$("#msg").height(300);$("#msg").width("200");//设定宽高
·$("#msg").css({color:"red",background:"blue"});//以名值对的形式设定样式
·$("#msg").addClass("select");//为元素增加名称为select的class
·$("#msg").removeClass("select");//删除元素名称为select的class
·$("#msg").toggleClass("select");//如果存在(不存在)就删除(添加)名称为select的class
8、完善的事件处理功能
Jquery已经为我们提供了各种事件处理方法,我们无需在html元素上直接写事件,而可以直接为通过jquery获取的对象添加事件。
如:
$("#msg").click(function{alert("good")})//为元素添加了单击事件
$("p").click(function(i){this.style.color=['#f00','#0f0','#00f'][i]})
//为三个不同的p元素单击事件分别设定不同的处理
jQuery中几个自定义的事件:
(1)hover(fn1,fn2):一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。
//当鼠标放在表格的某行上时将class置为over,离开时置为out。
$("tr").hover(function{
$(this).addClass("over");
},
function{
$(this).addClass("out");
});
(2)ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
$(document).ready(function{alert("LoadSuccess")})
//页面加载完毕提示“LoadSuccess”,相当于onload事件。与$(fn)等价
(3)toggle(evenFn,oddFn):每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。
//每次点击时轮换添加和删除名为selected的class。
$("p").toggle(function{
$(this).addClass("selected");
},function{
$(this).removeClass("selected");
});
(4)trigger(eventtype):在每一个匹配的元素上触发某类事件。
例如:
$("p").trigger("click");//触发所有p元素的click事件
(5)bind(eventtype,fn),unbind(eventtype):事件的绑定与反绑定
从每一个匹配的元素中(添加)删除绑定的事件。
例如:
$("p").bind("click",function{alert($(this).text);});//为每个p元素添加单击事件
$("p").unbind;//删除所有p元素上的所有事件
$("p").unbind("click")//删除所有p元素上的单击事件
9、几个实用特效功能
其中toggle和slidetoggle方法提供了状态切换功能。
如toggle方法包括了hide和show方法。
slideToggle方法包括了slideDown和slideUp方法。
10、几个有用的jQuery方法
$.browser.浏览器类型:检测浏览器类型。有效参数:safari,
opera,msie,mozilla。如检测是否ie:$.browser.isie,是ie浏览器则返回true。
$.each(obj,fn):通用的迭代函数。可用于近似地迭代对象和数组(代替循环)。
如
$.each([0,1,2],function(i,n){alert("Item#"+i+":"+n);});
等价于:
vartempArr=[0,1,2];
for(vari=0;i
alert("Item#"+i+":"+tempArr[i]);
}
也可以处理json数据,如
$.each({name:"John",lang:"JS"},function(i,n){alert("Name:"+i+
",Value:"+n);});
结果为:
Name:name,Value:John
Name:lang,Value:JS
$.extend(target,prop1,propN):用一个或多个其他对象来扩展一个对象,返回这个被扩展的对象。这是jquery实现的继承方式。
如:
$.extend(settings,options);
//合并settings和options,并将合并结果返回settings中,相当于options继承setting并将继承结果保存在setting中。
varsettings=$.extend({},defaults,options);
//合并defaults和options,并将合并结果返回到setting中而不覆盖default内容。
可以有多个参数(合并多项并返回)
$.map(array,fn):数组映射。把一个数组中的项目(处理转换后)保存到到另一个新数组中,并返回生成的新数组。
如:
vartempArr=$.map([0,1,2],function(i){returni+4;});
tempArr内容为:[4,5,6]
vartempArr=$.map([0,1,2],function(i){returni>0?i+1:null;
});
tempArr内容为:[2,3]
$.merge(arr1,arr2):合并两个数组并删除其中重复的项目。
如:$.merge([0,1,2],[2,3,4])//返回[0,1,2,3,4]
$.trim(str):删除字符串两端的空白字符。
如:$.trim("hello,howareyou?");//返回"hello,howareyou?"
11、解决自定义方法或其他类库与jQuery的冲突
很多时候我们自己定义了$(id)方法来获取一个元素,或者其他的一些js类库如prototype也都定义了$方法,如果同时把这些内容放在一起就会引起变量方法定义冲突,Jquery对此专门提供了方法用于解决此问题。
使用jquery中的jQuery.noConflict;方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。之后应用Jquery的时候只要将所有的$换成jQuery即可,如原来引用对象方法$("#msg")改为jQuery("#msg")。
如:jQuery.noConflict;
//开始使用jQuery
jQuery("divp").hide;
//使用其他库的$
$("content").style.display='none'
以上就是小编今天为大家分享的关于Web前端初学者应该学习的jQuery技巧的文章,希望本篇文章能够对正在从事web前端学习的小伙伴们有所帮助。想要了解更多web前端相关知识记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!
❷ 前后端没有分离 怎么合并压缩前端代码
压缩是为了加载更快,如果没有分离,是不建议压缩的,不然后期维护,修改很麻烦,可以压缩css、js文件和图片压缩等方式提升访问打开速度
❸ 项目中有多个前端人员协同开发时,你们团队如何分工如何协作的以及需要哪些工具来支持协作
首先是定规范,然后按模块分工,或者按页面。。
版本库管理SVN,再建立一个内部共用的测试环境。
❹ 前端框架都有哪些,企业常用的是哪些
在做web开发的时候经常会遇到一个问题,那就是,选择什么样的框架来做前端开发。下面我把目前常用的一些前端的框架简单的给你介绍一下.
就目前来说,比较流行且常用的Web前端框架有Angular、React和Vue。AngularJS通过为开发者呈现一个更高层次的抽象来简化应用的开发,它主要考虑的是构建CRUD应用,而至少90%的Web应用都是CRUD应用。React是一个用于构建用户界面的JavaScript库,也是Web应用程序的视图层。React拥有较高的性能,代码逻辑非常简单,已经有越来越多的人开始关注和使用它。Vue.js是一套构建数据驱动的Web界面的渐进式框架。Vue的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。
除了这几个,还有一些,我给你介绍
1. Bootstrap
Boostrap绝对是目前最流行用得最广泛的一款框架如上图。它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。
2、flex
Apache基金会发布了Flex 4.8版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本
3、extjs
ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。
4、easyui
easyui帮助你构建你的web应用更加容易。
它是一个基于jquery的插件,开发出来的一套轻量级的ui框架,非常小巧而且功能丰富。
5、MiniUI
又一个基于jquery的框架,开发的界面功能都很丰富。
6、jQuery UI
jQuery UI 是一套 jQuery 的页面 UI 插件,包含很多种常用的页面空间,例如 Tabs(如本站首页右上角部分) 、拉帘效果(本站首页左上角)、对话框、拖放效果、日期选择、颜色选择、数据排序、窗体大小调整等等非常多的内容。
7、DWZ
DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.
8、GWT
Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。
9、YUI
Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证,基本上没怎么研究过!
10、Sencha
Sencha 是由 ExtJS、jQTouch 以及 Raphael 三个项目合并而成的一个新项目。
11、Dojo
在国内应用好像不是很广,不过性能上应该没问题。
Dojo是一个用javascript语言实现的开源DHTML工具包。
12、ZK
ZK是 一套以 AJAX/XUL/Java 为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处是,在设计AJAX网络应用程式时,轻松简便的操作就像设计桌面程式一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以 及以 XML 为基础的使用接口设计语言 ZK User-interfaces Markup Language (ZUML)。
13、OperaMasks-UI
OperaMasks- UI是OperaMasks团队 2011下半年打造的一款轻量级前端JS组件库,旨在提供一款学习曲线低、定制性灵活、样式统一,且多浏览器支持、覆盖企业业务场景的前端 JavaScript UI组件库。目前,该团队已将这一产品以LGPL 开源协议开放给社区。
14、JavaFX
Sun 公司(已于2009年被Oracle公司收购)在2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。
以上的回答希望对你有所帮助
❺ node.js 怎么合并两个html文件;谢谢
如果让前端可以动态的载入模板,也推荐使用 handlebars,然后使用 grunt-browserify 和 hbsfy 这两个插件结合一段极度简单的客户端的 js 代码就能很优雅的解决这个问题。
❻ Web前端开发框架有哪些
目前常用的一些前端的框架如下:
1. Bootstrap
Boostrap绝对是目前最流行用得最广泛的一款框架。它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。
Bootstrap是用动态语言LESS写的,主要包括四部分的内容:
脚手架——全局样式,响应式的12列栅格布局系统。记住Bootstrap在默认情况下并不包括响应式布局的功能。因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。
基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及图片(image),基础CSS为这些要素提供了优雅,一致的多种样式。
组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(button groups),导航面板(navigation control)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress bars),媒体对象(media objects)等等。
JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。插件主要包括模态窗口(modals),提示效果(tool tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。
Bootstrap已经足够强大,能够实现各种形式的 Web 界面。为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。
jQuery UI Bootstrap —— 对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把 Bootstrap的清爽界面组件引入到jQuery UI中。
jQuery Mobile Bootstrap Theme —— 和上面提到的jQuery UI主题类似,这是一个为jQuery mobile建立的主题。如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。
Fuel UX —— 它为Bootstrap添加了一些轻量的JavaScript控件。Fuel UI 安装,修改,更新以及优化都很简单方便。
StyleBootstrap.info —— Bootstrap提供了自己的几种界面风格,StyleBootstrap提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。
BootSwatchr —— 利用这个工具你可以立刻查看主题修改后的效果。对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。
Bootswatch —— 提供大量免费的Bootstrap主题。
Bootsnipp —— 在线前端框架交互组件制作工具,是一个供给设计师和开发者的基于Bootstrap HTML/CSS/JavaScript 架构的免费元素。
LayoutIt —— 通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。
2、flex
Apache基金会发布了Flex 4.8版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本
需要注意的是
2014年03月10日,Apache Flex技术社区发布了全新的Apache Flex 4.12.0版本,该版本是Apache Flex 4.11.0的升级版本,改进的功能包括:
◆支持最新版本的Flash Player
◆支持最新的AIR运行时
◆改进了内存占用和性能
◆改善了针对移动平台的组件的样式
◆支持iOS7系统
◆修复了超过80个漏洞[4]
2014年05月10日,Apache对4.12.0版本进行优化改进,发布了Flex 4.12.1,新版本加入对全新Flash Player及Air运行时的支持,改进对移动媒体查询的支持,并修复20多个Bug。
3、extjs
ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。
功能丰富,无人能出其右。
无论是界面之美,还是功能之强,ext的表格控件都高居榜首。
华丽的界面,灵活的功能,还有开发工具都是配套的,但有个最大的问题,用就得花钱!
4、easyui
easyui帮助你构建你的web应用更加容易。
它是一个基于jquery的插件,开发出来的一套轻量级的ui框架,非常小巧而且功能丰富。
但是她有一个最大的问题就是代码只能找到以前的开源的版本,到了1.2以后的版本源代码都是经过混淆的,如果遇到问题修改起来会非常麻烦!不过一个比较大的优势是开源免费,并且界面做的还说的过去!
5、MiniUI
又一个基于jquery的框架,开发的界面功能都很丰富。
jQuery MiniUI – 快速开发WebUI。
它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。
使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。
界面做的挺不错,功能也挺丰富,但是有两个比较大的问题,一个是收费,一个是没有源码,说白了,不开源!基于这个开发如果想对功能做扩展就需要找他们的团队进行升级!
6、jQuery UI
jQuery UI 是一套 jQuery 的页面 UI 插件,包含很多种常用的页面空间,例如 Tabs(如本站首页右上角部分) 、拉帘效果(本站首页左上角)、对话框、拖放效果、日期选择、颜色选择、数据排序、窗体大小调整等等非常多的内容。
功能非常全面,界面也挺漂亮的,可以整体使用,也可以分开使用其中的几个模块,免费开源!
7、DWZ
DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.
设计目标是简单实用,快速开发,降低ajax开发成本。
欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.共同推进国内整体ajax开发水平。
毕竟是国产的,支持一下,而且源码完全公开,可以选择一下!不过性能怎么样不敢确定!
8、GWT
Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。
你不用去了解这样那样的javascript框架,通过java你就可以写出功能丰富的界面,可以做单元测试,毕竟是google的产品,严重支持一下!
9、YUI
Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证,基本上没怎么研究过!
YUI Compressor倒是挺出名的,这套UI库不知道应用的情况怎么样!
10、Sencha
Sencha 是由 ExtJS、jQTouch 以及 Raphael 三个项目合并而成的一个新项目。
大公司的框架,并且是几样库的强强联合,值得推荐!
11、Dojo
在国内应用好像不是很广,不过性能上应该没问题。
Dojo是一个用javascript语言实现的开源DHTML工具包。
有多个基金会的支持,包括IBM和SUN,都是软件界的泰斗,值得信赖!
12、ZK
ZK是 一套以 AJAX/XUL/Java 为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处是,在设计AJAX网络应用程式时,轻松简便的操作就像设计桌面程式一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以 及以 XML 为基础的使用接口设计语言 ZK User-interfaces Markup Language (ZUML)。
功能丰富,全面,文档齐全,而且升级了很多次,非常值得推荐!
13、OperaMasks-UI
OperaMasks- UI是OperaMasks团队 2011下半年打造的一款轻量级前端JS组件库,旨在提供一款学习曲线低、定制性灵活、样式统一,且多浏览器支持、覆盖企业业务场景的前端 JavaScript UI组件库。目前,该团队已将这一产品以LGPL 开源协议开放给社区。
文档丰富,功能齐全,而且很容易使用和开发!而且是国产的哟!
14、JavaFX
Sun 公司(已于2009年被Oracle公司收购)在2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序 变为可能。
❼ 怎么把两个HTML合并在一起
你这样问会让人有点误会,会让别人以为是把两个html文件合并在一起,其实你是需要把两个html的内容放在同一个文件上,也就是一个a.html文件加上了b.html文件的功能,只要把b.html文件的内容复制到a.html上,把那些css、js文件也引入进来就可以了,只要路径和标签没错就没问题了,希望对你有帮助
❽ 如何使用前端表格控件SpreadJS合并拆分单元格
您好,可以使用addSpan和removeSpan来实现合并与拆分单元格,
具体用法,可以参考葡萄城官方学习指南,以及葡萄城官方论坛GCDN中学习交流,
官方论坛有大量的实例,也有兢兢业业的客服会及时回复您的提问~!
❾ 关于前端代码的合并和压缩,我该怎么处理
除了让二次开发者直接修改你标准产品的代码,还有另外一种思路:
提高自己代码的扩展性(会有一些难度),让二次开发者通过相关的扩展API来实现个性化需求。
这样他不需要修改你的代码,所以他开发的代码不压缩、你的标准代码压缩这两个就不矛盾了。
想象一下你使用压缩版的angularjs时,自己开发的代码一定是压缩的么?场景是类似的
❿ sea.js一个模块一个文件,那在大项目里面不是存在着上百个js文件
seajs 中有一个combo
就是使用前端集成工具把多个文件 合并成一个文件
seajs 的使用 ,
解决命名冲突
功能化分
维护方便
并不是每个 fn 都成一个seajs 中
你可以把一类 搞到一个
比如共公头 共公尾为一个
插件本身是分开的
比如你做登录 注册
登录就可以是一个文件
等等
要合理使用 才能发挥出强大优势来
关注:新航路师徒学院