您的位置:首页 > Web前端 > JQuery

Java知识整理(二十四)之jQuery

2015-09-19 10:35 190 查看
jQuery(write leee,do more(html,要引入jQuery文件)):优秀的JS框架,轻量级的JS库,使用户的HTML页面保持代码和内容分离

jQuery编程步骤:1.引入jQuery的js文件2.使用选择器定位要操作的节点3.调用jQuery的方法进行操作

jQuery对象:链式编程(每次返回的都是jQuery对象);$("div");$("#d1");都是jQuery对象

DOM对象-->jQuery对象:$(DOM对象);

jQuery对象-->DOM对象:$obj.get(0)或者$obj.get()[0];$obj是jQuery对象

jQuery选择器:

基本选择器:#id(最快),.class(.s1),element(元素选择器div等)

层次选择器:

过滤选择器:first(第一个元素);last(最后一个元素);not(selector):把selector排除在外;even(挑选偶数行);even(挑选奇数行);

eq(index):下标等于index的元素;gt(index):下标大于index的元素;lt(index):下标小于index的元素;

例:$("table tr:first");$("table tr:eq(1) td:eq(2)");$("table tr:not(#tr1)");

内容过滤选择器:contains(text):匹配包含给定文本的元素;empty:匹配所有不包含子元素或者文本的空元素;

has(selector):匹配含有选择器所匹配的元素;parent:匹配含有子元素或者文本的元素

可见性过滤选择器:hidden:匹配所有不可见元素,或type为hidden的元素;visible:匹配所有的可见元素;还有属性,子元素过滤器

表单过滤选择器:enabled,disabled,checked,selected

表单选择器:input,text,password,radio,checkbox,submit,image,reset,button,file,hidden

利用选择器定位节点:$("div");$("#di");相当于<div id="d1"></div>

调用方法操作节点:$("#d1").css("font-size","30px"); //修改id=d1的样式

合并选择器(selector1,selector2...):例如$("#d1,.s1,p");

从节点select1中找子节点(h或者子子等节点)select2(select1空格select2):例如$("#d1 div");

只查找直接子节点,不查找间接子节点(select1>select2):$("#d1>div");

select1+select(+表示下一个兄弟节点)$("#d1+div");d1的类型为div,查找它同级的之后的一个div

select1~select2(~表示下面所有兄弟):$('#d2~div');d1的类型为div,查找它同级的之后的所有div

jQuery操作DOM:

html():读取或修改节点的HTML内容;$("#d1").html() 相当于  document.getElementById("d1").innerHTML;

text():读取或修改节点的文本内容:$("#d1").text();

val():读取或修改节点的value属性值:$("#d1").val("空白格"); 相当于 document.getElementById("d1").value="空白格";

attr():读取或者修改节点的属性:$("#d1").attr("style","color:red;");

创建DOM节点:$('body').append('<div>...</div>');  放在body最后一个节点;$("#d1").before("<p>hello</p>");var $obj=$("#d2").clone(true);

append():作为最后一个子节点添加进来;prepend():作为第一个子节点添加进来;after():作为下一个兄弟节点添加进来;

before():作为上一个兄弟节点添加进来;remove():移除;remove(selector):按选择器定位后删除;empty():清空节点;

clone():复制节点;clone(true):将处理代码一块复制

样式操作:

attr("class",""):获取和设置;addClass(""):追加样式;removeClass(""):移除样式;removeClass():移除所有样式;

toggleClass(""):切换样式;hasClass(""):是否有某个样式;css(""):读取css的值;css("",""):设置多个样式;

遍历节点:

children():只考虑直接子节点;next():下一个兄弟节点;prev():上一个兄弟节点;siblings:其他兄弟;

find(selector):查找满足选择器的所有后代;parent():父节点;

分离js代码:
window.onload = function(){
var obj = document.getElementById("d1");
obj.onclick=function(){
this.innerHTML="this很重要";
}
}

$(function(){
$("#d1").click(
function(){
$(this).html('helle Ajax');
}
);
}
);

两种方式完成的操作是等价的,都是在页面加载后,为div添加点击事件.

使用jQuery实现事件绑定:$obj.bind('click',fn)相当于$obj.click(fn);

取消事件冒泡:e.stopPropagation()

jQuery动画:效果很好;显示(显示之前要display:none):$("#d1").show(3000,f1),隐藏:$("#d2").hide(3000,function(){...}),f1为回调函数,可不写

上下滑动:slideDown()/slideUp();淡入:fadeIn(),淡出fadeOut,自定义动画;他们的用法都同show()/hide()

load():将服务器返回的数据字节添加到符合要求的节点之上;$obj.load(请求地址,请求参数);

jQuery对Ajax的支持:使用$.load(),$.get(),$.post(),$.ajax()方法发送异步请求(3种方法)

1.$(function(){
$("#d1").click(function(){
$(this).load('salary.do','eId='+eId);

});

});

2.function quoto(){
$.post('quoto.do','eId='+eId,function(data){...},'json');

}

$.get(请求地址,请求参数,回调函数,服务器返回的数据类型)

data是服务器返回的数据,json是返回数据格式的说明,如果data是json字符串,会自动转换为相应的javascript对象

修改post请求为get请求时,相关参数不变,要在请求地址后面追加一个随机数欺骗IE浏览器

3.function quoto(){
$.ajax(
{ url:"quoto.do",type:"post",dataType:"json",success:function(data){...},error:function(){...} }
);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery