jQuery 其他操作
1. 样式操作
1.1 获取 class 和设置 class : class 是元素的一个属性, 所以获取 class 和设置 class 都可以使用 attr() 方法来完成.
1.2 追加样式: addClass()
1.3 移除样式: removeClass() --- 从匹配的元素中删除全部或指定的 class
1.4 切换样式: toggleClass() --- 控制样式上的重复切换.如果类名存在则删除它, 如果类名不存在则添加它.
1.5 判断是否含有某个样式: hasClass() --- 判断元素中是否含有某个 class, 如果有, 则返回 true; 否则返回 false
$(".showmore").click(function(){ $("div:first").toggleClass("SubCategoryBox"); return false; });
2. CSS-DOM 操作
2.1 获取和设置元素的样式属性: css()
2.2 获取和设置元素透明度: opacity 属性,默认为1.
$("div:first").css("opacity", 0.1);
2.3 获取和设置元素高度, 宽度: height(), width(). 在设置值时, 若只传递数字, 则默认单位是 px. 如需要使用其他单位则需传递一个字符串, 例如 $(“p:first”).height(“2em”);
2.4 获取元素在当前视窗中的相对位移: offset(). 其返回对象包含了两个属性: top, left. 该方法只对可见元素有效
3. 事件处理
3.1 加载 DOM
$(document).ready(function(){}); --> $(function(){});
3.2 事件绑定
对匹配的元素进行特定的事件绑定: bind()
$(".head").bind("click", function(){ var flag = $(".content").is(":hidden"); if(flag){ $(".content").show(); }else{ $(".content").hide(); } });
3.3 合成事件
1) hover(): 模拟光标悬停事件. 当光标移动到元素上时, 会触发指定的第一个函数, 当光标移出这个元素时, 会触发指定的第二个函数.
2) toggle(): 用于模拟鼠标连续单击事件. 第一次单击元素, 触发指定的第一个函数, 当再一次单击同一个元素时, 则触发指定的第二个函数, 如果有更多个函数, 则依次触发, 直到最后一个.
toggle() 的另一个作用: 切换元素的可见状态.
$(".head").hover(function(){ $(".content").show(); }, function(){ $(".content").hide(); });
3.4 事件冒泡
事件会按照 DOM 层次结构像水泡一样不断向上只止顶端
解决: 在事件处理函数中返回 false, 会对事件停止冒泡. 还可以停止元素的默认行为.
3.5 事件对象的属性
事件对象: 当触发事件时, 事件对象就被创建了. 在程序中使用事件只需要为函数添加一个参数. 该事件对象只有事件处理函数才能访问到. 事件处理函数执行完毕后, 事件对象就被销毁了.
event.pageX, event.pageY: 获取到光标相对于页面的 x, y 坐标.
$("body").mousemove(function(obj){ $("#msg").text("x: " + obj.pageX + ", y: " + obj.pageY); });
3.6 移除事件
移除某按钮上的所有 click 事件: $(“btn”).unbind(“click”)
移除某按钮上的所有事件: $(“btn”).unbind();
one(): 该方法可以为元素绑定处理函数. 当处理函数触发一次后, 立即被删除. 即在每个对象上, 事件处理函数只会被执行一次.
$("#rl").one("click", function(){ alert("红色警戒. "); });
4. jQuery 中的动画
show() 和 hide() 方法中传入毫秒数以达到动画的效果. 以上两个方法会同时减少(增大)内容的高度, 宽度和不透明度.
fadeIn(), fadeOut(): 只改变元素的透明度.
slideDown(), slideUp(): 只会改变元素的高度.
toggle(): 切换元素的可见状态: 如果元素时可见的, 则切换为隐藏; 如果元素时隐藏的, 则切换为可见的.
slideToggle(): 通过高度变化来切换匹配元素的可见性.
fadeToggle():
fadeTo(): 把不透明度以渐近的方式调整到指定的值 (0 – 1 之间).
$(".head").click(function(){ //$(".content").toggle(); //$(".content").slideToggle(); //$(".content").fadeToggle(); var i = 1; $(".content").fadeTo("slow", i); i = i - 0.1; });
5. JQuery 加载并解析 XML
JQuery 可以通过 $.get() 或 $.post() 方法来加载 xml.
JQuery 解析 XML 与解析 DOM 一样, 可以使用 find(), children() 等函数来解析和用 each() 方法来进行遍历