Jquery学习

Jquery学习
<input type="text" value="zhang" id="username" name="username" />
DOM获取
// var username = document.getElementById("username");
// alert(username.value);
jQuery获取(定义jQuery变量,在其前面增加"$".不加是可以的,但是不建议)
var $username = $("#username");
alert($username.val());
DOM转换成jQuery对象
//DOM获取
var username = document.getElementById("username");
//DOM对象转换成jQuery对象:$(DOM对象)
var $username = $(username);
alert($username.val());
jQuery对象转换成DOM对象
//jQuery获取
var $username = $("#username");
//jQuery对象转换成DOM对象
//1 jQuery对象是一个数组对象
//var username = $username[0];
//alert(username.value);
//2 jQuery提供了get(index)方法
var username = $username.get(0);
alert(username.value);
事件处理机制
//DOM对象
// var username = document.getElementById("username111");
//
// //缺少对象
// //alert(username.value);
//
// if(!username){ //不存在的值 == false
// alert("id不存在")
// }else{
// alert(username.value);
// }
//jQuery对象
var $username = $("#username111");

alert($username.val()); //undefind

//jQuery相对DOM来讲,具有相对完善的事件处理机制
9大选择器:
1.基本选择器
 $(document).ready(function(){
 //<input type="button" value="选择 id为 one 的元素." id="btn1"/> 
 $("#btn1").click(function(){
/*
* css():改变页面元素的样式
* * name:样式名称,对应css帮助文档中的内容
* * value:样式的值
*/
$("#one").css("background","yellow");
 });
  
 //<input type="button" value="选择 class 为 mini 的所有元素." id="btn2"/>
 $("#btn2").click(function(){
//jQuery表达式支持类似于批处理
$(".mini").css("background","yellow");
 });
 
 //<input type="button" value="选择 元素名是 div 的所有元素." id="btn3"/>
 $("#btn3").click(function(){
$("div").css("background","yellow");
 });
 
 //<input type="button" value="选择 所有的元素." id="btn4"/>
 $("#btn4").click(function(){
$("*").css("background","yellow");
 });
 
 //<input type="button" value="选择 所有的span元素和id为two的元素." id="btn5"/>
 $("#btn5").click(function(){
//多个选择器的用法:多个选择器之间利用","隔开(并集)
$("span,#two").css("background","yellow");
 });
 
});
2.层次选择器
$(document).ready(function(){
 //<input type="button" value="选择 body内的所有div元素." id="btn1"/>
 $("#btn1").click(function(){
  //祖先元素与后代元素的关系
$("body div").css("background","yellow");
 });
 
 //<input type="button" value="在body内,选择子元素是div的。" id="btn2"/>
 $("#btn2").click(function(){
  //父子元素的关系
$("body>div").css("background","yellow");
 });
 
 //<input type="button" value="选择 id为one 的下一个div元素." id="btn3"/>
 $("#btn3").click(function(){
$("#one+div").css("background","yellow");
 });
 
 //<input type="button" value="选择 id为two的元素后面的所有div兄弟元素." id="btn4"/>
 $("#btn4").click(function(){
//指定元素的后面的所有兄弟元素
$("#two~div").css("background","yellow");
 });
 
 //<input type="button" value="选择 id为two的元素的所有div兄弟元素." id="btn5"/>
 $("#btn5").click(function(){
//指定元素的所有兄弟元素
$("#two").siblings("div").css("background","yellow");
 });
});
3.基本过滤选择器
$(document).ready(function(){
 //<input type="button" value="选择第一个div元素." id="btn1"/>
 $("#btn1").click(function(){
  $("div:first").css("background","yellow");
 });
 
 //<input type="button" value="选择最后一个div元素." id="btn2"/>
 $("#btn2").click(function(){
  $("div:last").css("background","yellow");
 });
 
 //<input type="button" value="选择class不为one的 所有div元素." id="btn3"/>
 $("#btn3").click(function(){
  //class不为one的元素,包含没有class属性的元素
$("div:not('.one')").css("background","yellow");
 });
 
 //<input type="button" value="选择索引值为偶数 的div元素." id="btn4"/>
 $("#btn4").click(function(){
  $("div:even").css("background","yellow");
 });
 
 //<input type="button" value="选择索引值为奇数 的div元素." id="btn5"/>
 $("#btn5").click(function(){
  $("div:odd").css("background","yellow");
 });
 
 //<input type="button" value="选择索引值等于3的元素." id="btn6"/>
 $("#btn6").click(function(){
  $("div:eq(3)").css("background","yellow");
 });
 
 //<input type="button" value="选择索引值大于3的元素." id="btn7"/>
 $("#btn7").click(function(){
  $("div:gt(3)").css("background","yellow");
 });
 
 //<input type="button" value="选择索引值小于3的元素." id="btn8"/>
 $("#btn8").click(function(){
  $("div:lt(3)").css("background","yellow");
 });
 
 //<input type="button" value="选择所有的标题元素." id="btn9"/>
 $("#btn9").click(function(){
  $(":header").css("background","yellow");
 });
 
 //<input type="button" value="选择当前正在执行动画的所有元素." id="btn10"/>
 function move(){
  $("#mover").slideToggle("slow",move);
 }
 move();
 
 $("#btn10").click(function(){
  $(":animated").css("background","yellow");
 });
 
});
4.内容过滤选择器
$(document).ready(function(){
 //<input type="button" value="选取含有文本“di”的div元素." id="btn1"/>
 $("#btn1").click(function(){
  $("div:contains('di')").css("background","yellow");
 });
 
 //<input type="button" value="选取不包含子元素(或者文本元素)的div空元素." id="btn2"/>
 $("#btn2").click(function(){
  $("div:empty").css("background","yellow");
 });
 
 //<input type="button" value="选取含有class为mini元素 的div元素." id="btn3"/>
 $("#btn3").click(function(){
  $("div:has('.mini')").css("background","yellow");
 });
 
 //<input type="button" value="选取含有子元素(或者文本元素)的div元素." id="btn4"/>
 $("#btn4").click(function(){
  $("div:parent").css("background","yellow");
 });
 
});
5.可见性过滤选择器
$(document).ready(function(){
 //<input type="button" value=" 选取所有可见的div元素"  id="b1"/>
 $("#b1").click(function(){
  $("div:visible").css("background","yellow");
 });
 
 //<input type="button" value=" 选取所有不可见的元素, 利用 jQuery 中的 show() 方法将它们显示出来"  id="b2"/>
 $("#b2").click(function(){
  $("div:hidden").show(3000).css("background","yellow");
 });
 
 //<input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b3"/>
 $("#b3").click(function(){
  /*
  *   <!--文本隐藏域-->
<input type="hidden" value="hidden_1">
<input type="hidden" value="hidden_2">
<input type="hidden" value="hidden_3">
<input type="hidden" value="hidden_4">
  */
var $inputs = $("input:hidden");

// for(var i=0;i<$inputs.length;i++){
// var input = $inputs[i];
//
// alert(input.value);
// }
/*
* jQuery中的隐式迭代:each(callback)
* * callback:function(index,domEle){}
* * index:索引值
* * domEle:DOM对象(取到的是对应的页面元素)
*/
$inputs.each(function(index,domEle){
alert(domEle.value);
});

 });
 
 //<input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b4"/>
 $("#b4").click(function(){
  /*
  *   <!--文本隐藏域-->
<input type="hidden" value="hidden_1">
<input type="hidden" value="hidden_2">
<input type="hidden" value="hidden_3">
<input type="hidden" value="hidden_4">
  */
var $inputs = $("input:hidden");

/*
* $.each(object,callback)
* * object:需要例遍的对象或数组。
* * callback:function(index,domEle){}
* * index:索引值
* * domEle:DOM对象(取到的是对应的页面元素)
*/
$.each($inputs,function(index,domEle){
//alert(domEle.value);
//alert($(domEle).val());
//alert(this.value);
alert($(this).val());
});


 });
 
});
6.属性选择器
$(document).ready(function(){
 //<input type="button" value="选取含有 属性title 的div元素." id="btn1"/>
 $("#btn1").click(function(){
  $("div[title]").css("background","yellow");
 });
 
 //<input type="button" value="选取 属性title值等于“test”的div元素." id="btn2"/>
 $("#btn2").click(function(){
  $("div[title='test']").css("background","yellow");
 });
 
 //<input type="button" value="选取 属性title值不等于“test”的div元素(没有属性title的也将被选中)." id="btn3"/>
 $("#btn3").click(function(){
  $("div[title!='test']").css("background","yellow");
 });
 
 //<input type="button" value="选取 属性title值 以“te”开始 的div元素." id="btn4"/>
 $("#btn4").click(function(){
  $("div[title^='te']").css("background","yellow");
 });
 
 //<input type="button" value="选取 属性title值 以“est”结束 的div元素." id="btn5"/>
 $("#btn5").click(function(){
  $("div[title$='est']").css("background","yellow");
 });
 
 //<input type="button" value="选取 属性title值 含有“es”的div元素." id="btn6"/>
 $("#btn6").click(function(){
  $("div[title*='es']").css("background","yellow");
 });
 
 //<input type="button" value="组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有“es”的元素." id="btn7"/>
 $("#btn7").click(function(){
  //多个属性过滤选择器并列使用,不用任何内容分割.(交集)
$("div[id][title*='es']").css("background","yellow");
 });
 
});
7.子元素过滤选择器
$(document).ready(function(){
 //<input type="button" value="选取每个class为one的div父元素下的第2个子元素." id="btn1"/>
 $("#btn1").click(function(){
  /*
  * 子元素过滤选择器的特殊用法:
  * * 必须要在其前面,增加空格
  * * 子元素过滤选择器是从"1"开始
  */
$("div[class=one] :nth-child(2)").css("background","yellow");
 });
 
 //<input type="button" value="选取每个class为one的div父元素下的第一个子元素." id="btn2"/>
 $("#btn2").click(function(){
$("div[class=one] :first-child").css("background","yellow");
 });
 
 //<input type="button" value="选取每个class为one的div父元素下的最后一个子元素." id="btn3"/>
 $("#btn3").click(function(){
$("div[class=one] :last-child").css("background","yellow");
 });
 
 //<input type="button" value="如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素." id="btn4"/>
 $("#btn4").click(function(){
$("div[class=one] :only-child").css("background","yellow");
 });
 
});
8.表单对象属性过滤选择器
$(document).ready(function(){
 //<button id="btn1">对表单内 可用input 赋值操作.</button>
 $("#btn1").click(function(){
  /*
  *   可用元素:<input name="add" value="可用文本框"/>  <br/>
    不可用元素:<input name="email" disabled="disabled" value="不可用文本框"/><br/>
    可用元素: <input name="che" value="可用文本框" /><br/>
不可用元素:<input name="name" disabled="disabled"  value="不可用文本框"/><br/>
  */
/*
* val():设置与获取
* * 不传参数:获取
* * 传递参数:设置
*/
$("input:enabled").val("xxxxx");


 });
 
 //<button id="btn2">对表单内 不可用input 赋值操作.</button>
 $("#btn2").click(function(){
  $("input:disabled").val("xxxxx");
 });
 
 //<button id="btn3">获取多选框选中的个数.</button>
 $("#btn3").click(function(){
  alert($("input[name=newsletter]:checked").length);
 });
 
 //<button id="btn4">获取下拉框选中的内容.</button>
 $("#btn4").click(function(){
  $("select>option:selected").each(function(index,domEle){
alert($(domEle).text());
});
 });
 
});
9.表单选择器
$(document).ready(function(){
var $alltext = $("#form1 :text");
var $allpassword= $("#form1 :password");
var $allradio= $("#form1 :radio");
var $allcheckbox= $("#form1 :checkbox");


var $allsubmit= $("#form1 :submit");
var $allimage= $("#form1 :image");
var $allreset= $("#form1 :reset");
var $allbutton= $("#form1 :button"); // <input type=button />  和 <button ></button>都可以匹配
var $allfile= $("#form1 :file");
var $allhidden= $("#form1 :hidden"); // <input type="hidden" />和<div style="display:none">test</div>都可以匹配.
var $allselect = $("#form1 select");
var $alltextarea = $("#form1 textarea");

var $AllInputs = $("#form1 :input");
var $inputs = $("#form1 input");


$("div").append(" 有" + $alltext.length + " 个( :text 元素)<br/>")
.append(" 有" + $allpassword.length + " 个( :password 元素)<br/>")
.append(" 有" + $allradio.length + " 个( :radio 元素)<br/>")
.append(" 有" + $allcheckbox.length + " 个( :checkbox 元素)<br/>")
.append(" 有" + $allsubmit.length + " 个( :submit 元素)<br/>")
.append(" 有" + $allimage.length + " 个( :image 元素)<br/>")
.append(" 有" + $allreset.length + " 个( :reset 元素)<br/>")
.append(" 有" + $allbutton.length + " 个( :button 元素)<br/>")
.append(" 有" + $allfile.length + " 个( :file 元素)<br/>")
.append(" 有" + $allhidden.length + " 个( :hidden 元素)<br/>")
.append(" 有" + $allselect.length + " 个( select 元素)<br/>")
.append(" 有" + $alltextarea.length + " 个( textarea 元素)<br/>")
.append(" 表单有 " + $inputs.length + " 个(input)元素。<br/>")
.append(" 总共有 " + $AllInputs.length + " 个(:input)元素。<br/>")
.css("color", "red")


$("form").submit(function () { return false; }); // return false;不能提交.


 });
 //]]>
 </script>
</head>
<body>
 <form id="form1" action="#">
<input type="button" value="Button"/><br/>
<input type="checkbox" name="c"/>1<input type="checkbox" name="c"/>2<input type="checkbox" name="c"/>3<br/>
<input type="file" /><br/>
<input type="hidden" /><div style="display:none">test</div><br/>
<input type="image" /><br/>
<input type="password" /><br/>
<input type="radio" name="a"/>1<input type="radio" name="a"/>2<br/>
<input type="reset" /><br/>
<input type="submit" value="提交"/><br/>
<input type="text" /><br/>
<select><option>Option</option></select><br/>
<textarea rows="5" cols="20"></textarea><br/>
<button>Button</button><br/>
 </form>
 
 <div></div>
<!-- Resources from http://down.liehuo.net -->
</body>
DOM操作
01_查找节点
//      //获取北京节点的文本内容
// alert($("#bj").text());
//
// //设置北京节点的文本内容为北京
// $("#bj").text("北京");
// alert($("#bj").text());

//获取北京节点的name属性值
alert($("#bj").attr("name"));

//设置北京节点的name属性值
$("#bj").attr("name","beijing");
alert($("#bj").attr("name"));

//删除北京节点的name属性
$("#bj").removeAttr("name");
alert($("#bj").attr("name"));
02_创建节点
//在city下增加<li id="tj" name="tianjin">天津</li>节点
//1 创建<li id="tj" name="tianjin">天津</li>
// //1 创建<li></li>
// var $li = $("<li></li>"); //创建元素节点:$(HTML代码) 标签的闭合
//
// //2 设置属性
// $li.attr("id","tj");
// $li.attr("name","tianjin");
//
// //3 设置文本内容
// $li.text("天津");

var $li = $("<li id='tj' name='tianjin'>天津</li>");

//2 获取id="city"标签
var $city = $("#city");

//3 增加
$city.append($li);
03_内部插入节点
//*   append(content) :向每个匹配的元素的内部的结尾处追加内容
//append后面的元素插入到append前面的元素的后面
// $("#bj").append($("#fk"));


//*   appendTo(content) :将每个匹配的元素追加到指定的元素中的内部结尾处
//appendTo前面的元素插入到appendTo后面的元素的后面
// $("#bj").appendTo($("#fk"));


//*   prepend(content):向每个匹配的元素的内部的开始处插入内容
//prepend后面的元素插入到prepend前面的元素的前面
$("#bj").prepend($("#fk"));


//*   prependTo(content) :将每个匹配的元素插入到指定的元素内部的开始处
//prependTo前面的元素插入到prependTo后面的元素的前面
// $("#bj").prependTo($("#fk"));
04_外部插入节点
<body>
<ul id="city">
<li id="bj" name="beijing">北京</li>
<li id="tj" name="tianjin">天津</li>
<li id="cq" name="chongqing">重庆</li>
</ul>

<p  id="p3">I would like to say: p3</p>
 
<p  id="p2">I would like to say: p2</p>

<p  id="p1">I would like to say: p1</p>
  
</body>
<script type="text/javascript">
//*  after(content) :在每个匹配的元素之后插入内容
//after后面的元素插入到after前面的元素的后面
// $("#bj").after($("#p2"));

//*  before(content):在每个匹配的元素之前插入内容 
//before后面等元素插入到before前面的元素的前面
$("#bj").before($("#p2"));

//*  insertAfter(content):把所有匹配的元素插入到另一个、指定的元素集合的后面
//insertAfter前面的元素插入到insertAfter后面的元素的后面
// $("#bj").insertAfter($("#p2"));


//*  insertBefore(content) :把所有匹配的元素插入到另一个、指定的元素元素集合的前面 
//insertBefore前面的元素插入到insertBefore后面的元素的前面
// $("#bj").insertBefore($("#p2"));
</script>
05_删除节点
  //删除<li id="bj" name="beijing">北京</li>
$("#bj").remove();

//删除所有的子节点   清空元素中的所有后代节点(不包含属性节点).
$("#tj").empty();
06_复制节点
//button增加事件
$("button").click(function(){
alert("button");
});


//克隆button 追加到p上 ,但事件不克隆
//clone(): 克隆匹配的 DOM 元素, 返回值为克隆后的副本. 但此时复制的新节点不具有任何行为
$("button").clone(true).appendTo($("p"));
07_替换节点
//$("button")用 <p>tttttttt</P>替换
$("button").replaceWith($("<p>tttttttt</P>"));

// p 用  <button>保存</button>  替换
$("<button>保存</button>").replaceAll($("p"));
08_样式操作
//<input type="button" value="采用属性增加样式"  id="b1"/>
$("#b1").click(function(){
$("#mover").attr("class","one");
});

//<input type="button" value=" addClass"  id="b2"/>
$("#b2").click(function(){
$("#mover").addClass("mini");
});


//<input type="button" value="removeClass"  id="b3"/>
$("#b3").click(function(){
/*
* removeClass():
* * 不传参数:删除所有样式
* * 传递参数:删除指定样式
*/
$("#mover").removeClass();
});


//<input type="button" value=" 切换样式"  id="b4"/>
$("#b4").click(function(){
//切换样式:是在没有样式与指定样式之间切换
$("#mover").toggleClass("one");
});


//<input type="button" value=" hasClass"  id="b5"/>
$("#b5").click(function(){
//hasClass():判断是否含有某个指定样式
alert($("#mover").hasClass("one"));
});
09_遍历节点
//获取id="city"标签下的所有子节点的个数
//alert($("#city").children().length);

//获取天津节点的父节点
//alert($("#tj").parent().attr("id"));

//获取天津节点的上一个兄弟节点和下一个兄弟节点
// alert($("#tj").prev().attr("name"));
// alert($("#tj").next().attr("name"));
//
// alert($("#tj").siblings().length);

alert($("#city").find("li").length);
10_包裹节点
//jQuery代码如下:
$("strong").wrap("<b></b>");

/*
* 得到的结果如下
* <b><strong title="jQuery">jQuery</strong></b>
* <b><strong title="jQuery">jQuery</strong></b>
*/

//jQuery代码如下:
$("strong").wrapAll("<b></b>");

/*
* 得到的结果如下
* <b>
* <strong title="jQuery">jQuery</strong>
* <strong title="jQuery">jQuery</strong>
* </b>
*/

//jQuery代码如下:
$("strong"). wrapInner("<b></b>");

/*
* 得到的结果如下
* <strong title="jQuery"><b>jQuery</b></strong>
* <strong title="jQuery"><b>jQuery</b></strong>
*/
事件:jQuery中的特殊事件
* ready事件
* $(document).ready(function(){}) == window.onload = function(){}
* $().ready(function(){}) == $(function(){})
* bind()与unbind():
* bind():绑定事件
* 绑定单个事件
* 绑定多个事件
* 一共有以下这些:blur, focus, focusin, focusout, load, resize, 
 scroll, unload, click, dblclick, mousedown, mouseup, mousemove, 
 mouseover, mouseout, mouseenter, mouseleave, change, select, 
 submit, keydown, keypress, keyup, error 。 
* unbind():解绑事件
* 常规事件与绑定事件的区别?
* 常规事件:为页面元素绑定具体事件
* 为什么要需要绑定事件的方法来处理?实现或太效果
* 事件切换:
* hover()
* toggle()
事件绑定
   //点击h5标签,单次时:显示答案;双次时,隐藏答案
// $("h5").click(function(){
// if($("div[class=content]").is(":hidden")){
// $("div[class=content]").show();
// }else{
// $("div[class=content]").hide();
// }
// });

// $("#start").click(function(){
// /*
// * bind(type,data,fn)绑定事件
// * * type:指定要绑定的事件名称
// * * data:作为event.data属性值传递给事件对象的额外数据对象
// * * fn:回调函数
// */
// $("h5").bind("click",function(){
// if($("div[class=content]").is(":hidden")){
// $("div[class=content]").show();
// }else{
// $("div[class=content]").hide();
// }
// });
//
// });
//
// $("#stop").click(function(){
// /*
// * unbind(type,fn):解绑事件
// * * type:指定要解绑的事件名称
// * * fn:回调函数
// */
// $("h5").unbind();
//
// });

// $("h5").mouseover(function(){
// $("div[class=content]").show();
// }).mouseout(function(){
// $("div[class=content]").hide();
// });

$("#start").click(function(){
//绑定多个事件:多个事件之间利用空格隔开
$("h5").bind("mouseover mouseout",function(){
if($("div[class=content]").is(":hidden")){
$("div[class=content]").show();
}else{
$("div[class=content]").hide();
}
});
});

$("#stop").click(function(){
/*
* unbind():
* * 默认为空:解绑所有事件
* * 指定一个事件时:解绑指定的一个事件
* * 指定多个事件时:解绑指定的多个事件
*/
$("h5").unbind("mouseover mouseout");
});
   /*
* hover()的作用:
* * 做页面切换的特效
* * 替代mouseover与mouseout事件
*/
$("h5").hover(function(){
$("div[class=content]").show();
},function(){
$("div[class=content]").hide();
});
$("h5").toggle(function(){
$("h5").css("background","red");
$("div[class=content]").show();
},function(){
$("h5").css("background","green");
$("div[class=content]").hide();
},function(){
$("h5").css("background","blue");
$("div[class=content]").show();
},function(){
$("h5").css("background","yellow");
$("div[class=content]").hide();
});

Ajax:
load()方法
<script language="JavaScript">
$(function(){
$("#b1").click(function(){
/*
* load(url,data,callback)
* * url:请求路径
* * data:请求参数,格式一定是key/value格式(JSON:1)key/value;2)Array)
* * callback:回调函数,function(data,textStatus,XMLHttpRequest){}
* * data:代表请求返回内容
* * textStatus:代表请求状态,值可能为: succuss, error, notmodify, timeout 4 种
* * XMLHttpRequest对象

* load()方法不能自定义请求类型:
* * 当不发送请求数据时,请求类型就是GET方式
* * 当发送了请求数据时,请求类型就是POST方式
* * load()方法的请求类型由是否发送请求数据来决定
*/
var json = {
username : $("#username").val(),
psw : $("#psw").val()
}

$("#one").load("load.jsp",json,function(data,textStatus,XMLHttpRequest){
alert(data);
});
});
});
</script>
get/post方式:
<script language="JavaScript">
$(function(){
$("#b1").click(function(){
// /*
// * $.get(url,data,callback,type)
// * * url:请求路径
// * * data:请求参数,格式一定是key/value
// * * callback:回调函数,function(data,textStatus){}
// * * data:返回的请求内容,可以是 XML 文档, JSON 文件, HTML 片段等
// * * textStatus:返回请求状态,succuss, error, notmodify, timeout 4 种
// * * 返回值:XMLHttpRequest
// * * type:返回内容格式,xml, html, script, json, text, _default。
// * * 通过回调函数的底层代码,自动识别数据格式(建议设置type参数)
// * * 底层代码自动识别只有HTML\XML
// * * JSON格式的数据内容,没有被回调函数的底层代码识别出来(服务器端封装JSON格式出现问题)
// * * 利用默认情况将JSON数据接收成HTML格式,利用eval()函数进行转换
// * * 肯定可以利用type参数设置成"json",直接接收到JSON格式的数据
//
// * $.get()方法无论是否发送请求数据,请求类型就是GET方式
// */
// var json = {
// username : $("#username").val(),
// psw : $("#psw").val()
// }
//
// $.get("get.jsp",json,function(data,textStatus){
// console.info(data);
// var json = eval("("+data+")");
// console.info(json);
// });

/*
* $.post(url,data,callback,type)
* * url:请求路径
* * data:请求参数,格式一定是key/value
* * callback:回调函数,function(data,textStatus){}
* * data:返回的请求内容,可以是 XML 文档, JSON 文件, HTML 片段等
* * textStatus:返回请求状态,succuss, error, notmodify, timeout 4 种
* * 返回值:XMLHttpRequest
* * type:返回内容格式,xml, html, script, json, text, _default。
* * 通过回调函数的底层代码,自动识别数据格式(建议设置type参数)
* * 底层代码自动识别只有HTML\XML
* * JSON格式的数据内容,没有被回调函数的底层代码识别出来(服务器端封装JSON格式出现问题)
* * 利用默认情况将JSON数据接收成HTML格式,利用eval()函数进行转换
* * 肯定可以利用type参数设置成"json",直接接收到JSON格式的数据

* $.post()方法无论是否发送请求数据,请求类型就是POST方式
*/
//手工构建key/value格式的数据
// var json = {
// username : $("#username").val(),
// psw : $("#psw").val()
// }

/*
* 自动构建key/value格式的数据(序列化元素)
* JSON格式:1)key/value;2)Array
* * key/value:JSON字符串 - serialize()
* * Array:JSON对象                - serializeArray()
*/
var json = $("#form1").serialize();

// $.post("get.jsp",json,function(data,textStatus){
// console.info(data);
// var json = eval("("+data+")"); 先写双引号, 再写++
// console.info(json);
// });

/*
* $.ajax(options)
*/
$.ajax({
url:"get.jsp",
type:"get",
async:true,
data:json,
success:function(data,textStatus){
alert(data);
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert(textStatus);
}
});
});
});
</script>
getJson方式:
 <script type="text/javascript">
  $(function(){
$('#send').click(function() {
$.getJSON("test.json",function(data){
$('#resText').empty();
 var html = '';
 $.each( data  , function(commentIndex, comment) {
 html += '<div class="comment"><h6>' + comment['username'] + ':</h6><p class="para">' + comment['content'] + '</p></div>';
 
oDiv.style.top = ev.clientY + 'px';
var scrollTop = document.documentElement.scrollTop || do})
$('#resText').html(html);
});
  })
  })
 </script>
 
event是一个全局对象,事件调用才有值
var ev = ev || event;
oDiv.style.left = ev.clientX + 'px'; 可视区域cument.body.scrollTop; 头部分距离



****传递参数时,对对象的封装  var dd = JSON.stringify(objj);


is用法
// 是否是隐藏的
$('#test').is(':visible');
// 判断input元素是否被选中
$('input[name=chkNoChecked]').is(':checked');
// 是否是第一个子元素
$(this).is(":first-child");
// 是否包含.blue,.red的class
$(this).is(".blue,.red");
// 文本中是否包含Peter这个词
$(this).is(":contains('Peter')");

find用法
$(".div_tools").find(".tb_TypeInfo").is(':hidden')

















自己写框架: Vquery
1.面向对象思想
2.jquery模拟
3.绑定,样式比较熟悉

$就是一个函数
function VQuery(vArgs){
this.elements=[];
switch(typeof vArgs){
case 'function':
//window.onload = vArgs;
myAddEvent(window,'load',vArgs);
break;
case 'string':
switch(vArgs.charAt(0)){
case '#':
var obj = document.getElementById(vArgs.substring(1));
this.elements.push(obj);
break;
case '.':
break;
default:

}

break;
}
}















































































































































































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值