一、js与jquery的区别 

js是一种脚本语言,而jquery对它进行了封装使得js开发起来更简单。

二、新建web项目步骤

 1、新建web项目时选择第二个,取一个项目名称。                                                                    

2、系统生成的多余文件夹删掉,仅留下Scripts和Web.config:

3、修改Scripts文件夹为js,新建文件夹css和image,并在对应位置添加需要的页面,css样式文件与js文件。

4、将.min.js文件拖动到html中,将自己新建的js文件拖动到它下方  

*这里引入js有先后顺序,先引用jquery文件,再引用js。 

  将Script文件夹中的第一个js文件(_references.js),拖动到自己新建的js文件里的最上面  

  *此步骤作用:让jq显示智能提示,方便写代码。 

  完成以上步骤,即可开始正常程序编写。

三、jquery执行过程与写法

1、jq执行过程分为下面5个步骤:

a、 对页面进行加载:$(function(){  });

b、 找到对象,如id标签:$(“#btn”)

c、 执行对象相应事件:click();

d、 声明事件:function(){  }

e、 执行事件内容:alert();

jquey写法

例:给html中id名称为btn的执行一个点击事件,执行事件的内容是弹出aaaa;

html:

<input type="button" value="jq按钮" id="btn"/>

js:

$(function () {     $("#btn").click(function () {         alert("aaaa");     });

});

js写法

$(function () {

  document.getElementById("btn").onclick = function () {         alert("aaaa");

});

2、Js对象转jquery对象

var v=document.getElementById("v"); //DOM对象 var $v=$(v); //jQuery对象  转换后,就可以任意使用jQuery的方法了。

例子:

html:

<input type="button" value="js按钮" id="btn"/>

js:

  var obj = document.getElementById("btn"); //DOM对象     var $obj = $(obj); //jQuery对象     $obj.click(function () {         alert("aaaa");     }); 

3、jquery对象->js

$("#btn")           //jQuery对象 $("#btn")get(0)       //jQuery对象->原生的DOM对象

例:jquery对象->js就,就可以执行js事件了

html:<input type="button" value="jq按钮" id="btn"/>

js:   var obj = $("#btn").get(0);      obj.onclick = function () {         alert("aaa");     }

优先级问题:当css和jq中同时设置了样式时,遵循就近原则,此时的jq写法,类似于在html标签内加一个style样式来写,所以优先jq。

四、jq选择器

  $(“tr:odd”), 选择所有位于奇数行的< tr >标记 

  $(“tr:even”) ,选择所有位于偶数行的< tr >标记

【例】表格隔行换色的效果

$(function(){

  $(“tr:odd”).css(“background”,”#f8f3d2”);      //偶数行的背景颜色为#f8f3d2

  $(“tr:even”).css(“background”,”#ffcdcd”);    //奇数行的背景颜色为#ffcdcd

});

2、eq(n)选择器:$("X:eq(n)")

  对X标签的第n+1个X标签进行选择,也可以写作$(“X”).eq(n)。

  如:$(“tr”).eq(2),是指tr标签的第三行进行选择。

3、 特殊

nth-child(n)选择器:$(“X:nth-child(n)”) 

  对X标签的第n个X标签进行选择。

  如:$(“td:nth-child(3)”) ,是指第3列;  $(“li:nth-child(4)”),就是第4个li标签。

 $(“li>a”) 返回<li>标记的所有子元素<a>,不包括孙标记。

(“a[href$=pdf]”)选择所有超链接,并且这些超链接的href属性是以“pdf”结尾;

4、功能函数

$trim(sString); 去掉前后空格;

去掉中间空格:

用正则:

   var sString = "hello  world";     String.prototype.NoSpace = function() {  return this.replace(/\s+/g, ""); }     alert(sString.NoSpace());

转换为数组:【

例】去掉字符串中间空格:(把字符串变成字符数组,然后把空格替换成无)

var s="das  das";

var aChar=s.split("");         //将字符串变为字符数组

for(var i=0; i<aChar.length;i++)

{

              if(aChar[i]==" ")      //当遇到某个字符是空格时

              {

                     s=s.replace(" ","");  //将此空格替换成无(从空格替换到连空格都不是)

              }

}

alert(s);               //打印s

5、创建DOM元素

    var oNewP = $("<p>这是一个感人肺腑的故事</p>");  //创建DOM元素     oNewP.insertAfter("#btn");  //insertAfter()方法

     将dom元素p插入#btn标签后面

6、属性选择器

6.1 所有标签写法$(“某标签[某属性]”):选出带有某种属性的某标签。

6.1.1$(“a[title]”).addClass(“myClass”)  给a标签的title属性增加myClass样式

6.1.2 $(“a[href=’10-9.html’]”).addClass(“myClass”)  给a标签的href=’10-9.html’属性增加myClass样式

6.2.3 $(“a[href^=http://]”).addClass(“myClass”) 所有以http://开头的a标签

6.2.4 $(“a[href$=html]”).addLClass(“myClass”) 所有以html结尾的a标签

6.2.5 $(“a[href*=isaac]”).addClass(“myClass”) 所有href中含有isaac的a标签

 

7、包含选择器

  $(“某标签:has(某属性)”):选出包含某属性的所有某标签。如:$(“li:has(a)”) 包含超链接的所有li标记

8、位置选择器

  $(“某标签:某位置”) :选出某特定位置的某标签。如:

1)$(“p:first”) 选择页面中的第一个p标签

2)$(“p:last”) 选择页面中的最后一个p标签

3)$(“p:first-child”)  选择所有的p标记,且这些p标记是其父标记的第一个标记。

4)$(“p:last-child”)  选择所有的p标记,且这些p标记是其父标记的最后一个标记。

5)$(“p:nth-child(odd)”).addClass(“myClass”) 选择所有的p标记,且这些p标记是其父标记的偶数行。

6)$(“p:odd”).addClass(“myClass”) 整个页面的偶数行p标记

7)$(“p:eq(4)”).addClass(“myClass”) 第五个p标记增加class样式

  $("p").eq(4).addClass(“myClass”)

  $("p").eq(4).css("color","red") 相当于style

8)$(“p:gt(n)”).addClass(“myClass”) 第n个(从0开始,不包括n本身)p标记之后的所有p标记,也就是从第n+2个标记开始算,如$(“p:gt(2)”)就是从第四个p开始。

9、过滤选择器

 过滤选择器

  *备注:$(":file") 等价于$(“input[type=file]”)

 

$(“:button”)

所有按钮

$(“:checkbox”)

所有复选框,等同于$(“input[type=’checkbox’]”)

$("div:contains(' foo ')")

所有包含了文本“foo”的元素

$(“:disable”)

所有被禁用的元素(此写法有问题,代替写法:$("input[disabled=disabled]").attr("value", "aaa");)

$(“:enable”)

所有没有被禁用的元素

$(“:file”)

所有上传文件

$(“:input”)

所有表单元素

$(“:selected”)

所有下拉菜单中被选中的项

$(“:visible”)

所有可见的元素

$(“:submit”)

所有提交按钮

 

14、反向过滤器:

  $(“标签:not(:某属性)”):选出所有不具备某属性的某标签。 

  意思为:过滤掉所有含有“某属性”的标签,留下其它不具备该属性的标签。 

  如:$(“a:not(:target)”),意思就是选出所有没写target的a标签。