一、选择网页元素 jQuery的基本设计和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。这是它区别于其他函数库的根本特点。 使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素。 选择表达式可以是CSS选择器: .代码如下: $(document)//选择整个文档对象 $('#myId')//选择ID为myId的网页元素 $('div.myClass')//选择class为myClass的div元素 $('input[name=first]')//选择name属性等于first的input元素 也可以是jQuery特有的表达式: .代码如下: $('a:first')//选择网页中第一个a元素 $('tr:odd')//选择表格的奇数行 $('#myForm :input')//选择表单中的input元素 $('div:visible') //选择可见的div元素 $('div:gt(2)')//选择所有的div元素,除了前三个 $('div:animated')//选择当前处于动画状态的div元素 二、改变结果集 如果选中多个元素,jQuery提供过滤器,可以缩小结果集: .代码如下: $('div').has('p'); //选择包含p元素的div元素 $('div').not('.myClass'); //选择class不等于myClass的div元素 $('div').filter('.myClass'); //选择class等于myClass的div元素 $('div').first(); //选择第1个div元素 $('div').eq(5); //选择第6个div元素 有一些时候,我们需要从结果集出发,移动到附近的相关元素,jQuery也提供了在DOM树上的移动方法: .代码如下: $('div').next('p'); //选择div元素后面的第一个p元素 $('div').parent(); //选择div元素的父元素 $('div').closest('form'); //选择离div最近的那个form父元素 $('div').children(); //选择div的所有子元素 $('div').siblings(); //选择div的同级元素 三、链式操作 选中网页元素以后,就可以对它进行某种操作。 jQuery允许将所有操作连接在一起,以链条的形式写出来,比如: .代码如下: $('div').find('h3').eq(2).html('Hello'); 我们可以这样拆封开来,就是下面这样: .代码如下: $('div')//找到div元素 .find('h3')//选择其中的h3元素 .eq(2)//选择第3个h3元素 .html('Hello'); //将它的内容改为Hello 这是jQuery最令人称道、最方便的特点。它的原理在于每一步的jQuery操作,返回的都是一个jQuery对象,所以不同操作可以连在一起。 jQuery还提供了 .end() 方法,使得结果集可以后退一步: .代码如下: $('div') .find('h3') .eq(2) .html('Hello') .end()//退回到选中所有的h3元素的那一步 .eq(0)//选中第一个h3元素 .html('World'); //将它的内容改为World 四、元素的操作:取值和赋值 操作网页元素,最常见的需求是取得它们的值,或者对它们进行赋值。 jQuery使用同一个函数,来完成取值 (getter) 和赋值 (setter)。 到底是取值还是赋值,由函数的参数决定。 $('h1').html(); //html()没有参数,表示取出h1的值 $('h1').html('Hello'); //html()有参数Hello,表示对h1进行赋值 常见的取值和赋值函数如下: .代码如下: .html() 取出或设置html内容 .text() 取出或设置text内容 .attr() 取出或设置某个属性的值 […]
View Details1、 在vs2010 选择“新建项目”—-“其他项目类型”—-“Visual Studio Installerà“安装项目”: 命名为:Setup1 。 这是在VS2010中将有三个文件夹, 1.“应用程序文件夹”表示要安装的应用程序需要添加的文件; 2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe; 3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。 2、 应用程序文件夹中点右键添加文件:表示添加要打包的文件; 添加的文件一般是已经编译过应用程序的debug目录下的文件; 如果debug 下面有子文件夹则需要“添加文件夹”,例如:data 然后把对应的子文件里的内容添加到此文件夹中; 把需要创建程序快捷方式的图标也添加进来:后缀名为:ico 3、 在创建的项目名称(Setup1)上点击右键:属性 选择系统必备 然后选择.NET的版本,和Windows Installer3.1(可选项) 选择:“从与我应用程序相同的位置下载系统必备组件” 这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET FrameWork组件;但是安装包会比较大。 VS2010发布.NET2.0的版本,在创建安装程序时,需要设置启动条件:在项目名称(setup1)上,点击右键选择“视图”à“启动条件”: 然后VS2010会创建如下文件: 在“启动条件”中, 点击“.NET Framework”在Version上面选择.NET Framework 2.0; 这样.NET Framework 2.0上创建的项目在安装时,就不会安装.NET3.5或其他版本, 也不会重启(解决.NET 2.0 创建的项目,安装.NET FrameWork3.5的问题)。 4、 设置安装文件的目录(路径): 创建的项目名称(setup1)点击左键(不是右键),在属性中设置参数如下图: 其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字; 例如我们设置为:BeyondKKO;Manufacturer:自由公司;ProductName:串口测试。 把InstallAllUsers 设置为True 。 (这样在“控制面板”程序中会显示公司的名称; 在安装时会默认为“任何人”,否则默认为“只有我”) 在应用程序上点击左键,如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。 5、 创建应用程序图标与卸载程序: A.“在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式: 重命名“串口测试程序”,然后点击右键属性:选择Icon 双击进入选择我们之前添加的“MiXer.ico” 确定后,拖动此快捷方式到“用户桌面” B. “用户的‘程序’菜单”中添加一个文件夹,命名为:“串口程序” 然后同样的方式创建TEXTCOM.exe一个快捷方式(“串口测试程序”),拖动到“串口程序”中; 然后给.NET应用程序创建一个卸载程序: 在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe 右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“串口程序”; 点击项目名称(Setup1),在属性中找到:ProductCode 复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格 6、 完成以上步骤,就可以生成解决方案了。 7、生成解决方案后,在debug文件夹中就是我们需要的安装包. 8、 安装完在开始菜单中有“串口程序”的文件夹,里面有我们创建的两个快捷方式; 桌面上也有快捷方式。 (完) 经过自己的测试,发现只有把Debug文件夹整个都发给别的人,别人才能正常安装,否则就会出现错误。 from:http://www.cnblogs.com/daban/archive/2012/06/27/2565449.html
View Details1.创建文件夹 //using System.IO; Directory.CreateDirectory(%%1); 2.创建文件 //using System.IO; File.Create(%%1); 3.删除文件 //using System.IO; File.Delete(%%1); 4.删除文件夹 //using System.IO; Directory.Delete(%%1); 5.删除一个目录下所有的文件夹 //using System.IO; foreach (string dirStr in Directory.GetDirectories(%%1)) { DirectoryInfo dir = new DirectoryInfo(dirStr); ArrayList folders=new ArrayList(); FileSystemInfo[] fileArr = dir.GetFileSystemInfos(); for (int i = 0; i < folders.Count; i++) { FileInfo f = folders[i] as FileInfo; if (f == null) { DirectoryInfo d = folders[i] as DirectoryInfo; d.Delete(); } } } 6.清空文件夹 //using System.IO; Directory.Delete(%%1,true); Directory.CreateDirectory(%%1); 7.读取文件 7.1.操作系统默认编码 //using System.IO; StreamReader s = File.OpenText(%%1); string %%2 = null; while ((%%2 = […]
View Details在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。 在说区别之前还是先总结一下三者的相似之处: 1、都是用来改变函数的this对象的指向的。 2、第一个参数都是this要指向的对象。 3、都可以利用后续参数传参。 那么他们的区别在哪里的,先看一个例子。 var xw = { name : "小王", gender : "男", age : 24, say : function() { […]
View DetailsWhat 软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师。 Why 得到更多的报酬!因为你的薪水会随着你水平的提高而增加 提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO 等职位前进 历经更大的挑战。随着你的成长,各种影响力也会提高。 How 软件工程是很难的。这一行业在不断变化中,所以你必须紧跟它的步伐。你必须不断地投入时间和精力,因为你需要学习的东西总是比你能吸收的多。很多新 手工程师甚至都不曾意识到他们如果想要攀登行业的高峰,要学习的东西、要付出的努力得有多少。不过,不用担心,下面我将指出一条“明路”有助于你成为一名 高级软件工程师。 步骤0:选择你的道路,坚持下去! 做一件事,就要把它做好。——Doug McIlroy《Unix Philosophy》 关于这一点,我真的是强调得不能再强调了。选择好你将与之并肩作战的专业和技术堆栈非常重要。坚持不懈,不要分心。至于应该怎么做请看下面: 选择专业。也就是你想做的事情。例如:Web 开发、移动开发、DevOps 等。 选择专业中的实用技术。例如:如果你选择了 Web 开发,那你就需要在 Ruby on Rails、Python、Django,JavaScript 和 MEAN 等之间做斟酌。如果你选择的是移动开发,则需要在 iOS 和 Android 等之间做出选择。 坚持下去,直到掌握这门技术。 我的意思并不是说除了你的主要专业以外,你就不必熟悉其他的了。那种首屈一指的软件工程师通常对其他的编程语言和技术都非常了解,当然首先他们对他 们自己的主要专业了解得非常剔透。当你确定好主要专业之后,接下来要做的就是学习,阅读所有相关的书籍、练习各种必要的技能,这可能需要很多年的时间。但 是千万不要气馁,一步一个脚印,一个一个攻克难关,量变才能达到质变。关于技术,我的推荐是:Ruby on Rails 之于 web 开发,iOS 之于移动开发。这是我是以一个过来人的身份告诉你的宝贵经验。不过我还是想补充一句,可能每个人的口味不同,我的经验也许并不适合你,你完全可以选择其他 的技术,不过这样的话,你要阅读的书籍可能就和我的推荐不一样了。 步骤1:奠定基础 《The Pragmatic Programmer 》对于我们掌握软件是一个很好的起点。该书总结了高水平的实践探索。这与我们使用的是什么语言/技术无关。无论你选择的是哪种技术堆栈,其主要原理都是一样的。 步骤2:掌握你的编程语言 你以后每天需要面对哪种编程语言取决于你今天选择的技术。但是编程语言总有主次之分。例如,Ruby on Rails 开发人员主要使用 Ruby,AngularJS 开发人员大多数时间用的是 JavaScript。确定编程语言、掌握编程语言对你的职业生涯发展至关重要。因为以后你每天都会使用它!推荐你先阅读有关书籍。 《The Swift Programming Language》之于 Ruby 开发人员,以及《Programming Ruby 》之于 iOS 开发人员。 步骤3:学习框架 选一个,然后好好学习: 对于 Rails 开发人员——《Rails Tutorial 》by Michael Hartl 对于 iOS 开发人员——《iOS programming: The Big Nerd Ranch Guide》 步骤4:掌握文本编辑器/ IDE 再选一个,然后坚持不懈地掌握这个工具。如果你选择的是 VIM,那就要成为它的主人,让它往东就往东。 步骤5:使用版本控制系统 […]
View Details2013年5月份开源中国正式推出 Git 代码托管系统 (git.oschina.net) ,经过一年多的发展,Git@OSC 现在已经是国内最大的基于 Git 的代码托管系统。2014年11月,为了满足 Git 仓库不断增长的要求,我们将 Git 系统从云平台迁移到独立的服务器,为进一步发展打下坚实的基础。 Git@OSC 系统能发展这么迅猛,全依赖用户的大力支持。并非 Git@OSC 牛逼,而是这个 Git@OSC 上的项目牛逼,给你们点赞!!! 每到年底总会出现各种排行榜、各种总结,我们也不能免俗。每个排行榜都会有角度的问题,其实在我眼里,能为我所用的就是最牛逼的项目。 此次我们整理的”2014 年度 Git@OSC 最热门的 50 个项目“,我们主要从 Fork/Star/Issues/Views 等几个角度按照不同的权重进行了排序,得出了前 50 个项目。更多 Git@OSC 上推荐的项目请看这里。 下面是这 50 个项目的完整列表,你的项目在里面吗? 1. JFinal JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :) http://git.oschina.net/jfinal/jfinal 2. android-app OSCHINA 的 Android 客户端源码,可在 Google Play 或者国内几个应用市场上搜索“开源中国”来安装此app http://git.oschina.net/oschina/android-app 3. jeewx 免费开源Java微信公众账号开发平台 http://git.oschina.net/jeecg/jeewx 4. CrossApp 跨平台移动应用开发引擎 http://git.oschina.net/9miao/CrossApp 5. LigerUI 基于jQuery的UI框架,包括表单、布局、表格等等常用UI控件,使用LigerUI可以快速轻松地创建风格统一的界面效果。 http://git.oschina.net/ligerui/LigerUI 6. 师说CMS 一款使用Java语言开发的CMS,使用了Spring MVC,Spring,MyBatis等流行框架,提供首页大图管理、目录管理、文章管理和管理员管理等功能。是学习和二次开发的首选。 http://git.oschina.net/shishuo/CMS 7. smeoa 基于ThinkPHP开发的PHP开源OA办公系统 http://git.oschina.net/smeoa/smeoa 8. iphone-app OSCHINA 的 iPhone 客户端源码,可直接在 App Store上搜索“开源中国”来安装此app http://git.oschina.net/oschina/iphone-app 9. jeecg […]
View Details在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的最大并发链接数 # multi_accept on; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; #设定日志格式 access_log /var/log/nginx/access.log; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; #设定请求缓冲 client_header_buffer_size 1k; large_client_header_buffers 4 4k; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; #设定负载均衡的服务器列表 upstream mysvr { #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 server 192.168.8.1:3128 weight=5; server 192.168.8.2:80 weight=1; […]
View Details预编译版 Linux 和 BSD 的预编译包 大部分 Linux 发行版和 BSD 衍生版的源里都有 Nginx,使用通常安装其他软件的方式即可安装(在 Debian 上用 apt-get,Gentoo 上用 emerge,FreeBSD 上用 ports,等等)。 请注意这些包通常不是最新版本。如果你想使用最新功能和 Bug 修复,建议从源码编译安装(实际上,编译安装也相当简单)。 Win32 预编译包 现在nginx官方已经发布了官方版的nginx/Win32了,欢迎大家使用。在先前Kevin Worthington 负责维护一个 Windows 的最新预编译版分支,如果您已经习惯了使用这个版本也可以选择使用这个版本的。 源代码发布 Nginx 有两个版本:稳定版 (1.0.x), 和 历史稳定版 (0.8.x)。同时,我们在svn中也提供开发版。开发版分支会较快获得新功能和缺陷修复,但同时也可能遇到新的缺陷。一旦更新稳定下来,就会被加入稳定版分支。然而新功能不一定会被加到旧的稳定版中去。 作为生产环境,通常建议使用稳定版,但其实开发版本也相当稳定。如果您的网站不是基于Fcgi,建议使用开发版。请参考 FAQ。 从源代码编译Nginx 把源码解压缩之后,在终端里运行如下命令: ./configure make sudo make install 默认情况下,Nginx 会被安装在 /usr/local/nginx。通过设定编译选项,你可以改变这个设定。 Nginx/Win32 安装 为了安装Nginx/Win32,需先下载它。然后解压之,然后运行即可。下面以C盘根目录为例说明下: cd C: cd C:\nginx-0.8.54 start nginx Nginx/Win32是运行在一个控制台程序,而非windows服务方式的。服务器方式目前还是开发尝试中,Nginx/Win32可以使用以下开关来管理它: Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。 Nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。 Nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。 Nginx -s reopen 重新打开日志文件。 【责任编辑:杨赛 TEL:(010)68476606】 from:http://os.51cto.com/art/201111/304425.htm
View Details