Posted in Javascript onMarch 05, 2014
都来加深印象吧,大家都知道jQuery很好使用,因为它简化了javascript代码,更重要的是它还兼容基本上所有的浏览器,网页开发最头疼的就是这个了,所以jQuery也因此深受码农的喜爱,不过首先你得要记住它才能更好的使用它不是吗,过久了没用的属性方法也会淡忘的,下面是jQuery的DOM操作方法属性的详解,看看加深下印象。
例子虽丑功能还俱全呢!
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <style type="text/css"> body { /*color: purple;*/ } .a{ color:red; } .b { color:purple; } </style> <script src="script/jquery-1.4.1.js"></script> </head> <body> <p id="div">class</p> <div id="all" class="a" >all <input type="text" value="text" name="text" id="text"/> <p id="p">p</p> <ul id="ul"> <li id="a">苹果</li> <li id="b">脐橙</li> <li id="c">柚子</li> </ul> <div id="d"> <p>内容</p> </div> <input type="button" value="鼠标悬浮效果" id="over" /> </div> <script type="text/javascript"> $().ready(function () { var p = $("#p"); //alert(p.attr("id"));//attr("属性名")获取属性,attr("属性名","属性值")设置属性 //p.attr("title","title");//设置属性 //p.removeAttr("id");//删除指定元素属性名的元素属性 //$("#all").attr("class", "class");//设置class属性,如此设置属性会替换前面的class属性(class='class') //$("#all").addClass("class");//设置class属性,在原来的class属性里面追加一个class(class='all class')如果一个class里面有相同的属性(比如color),那么后者会覆盖前者 //$("#all").removeClass("all");//删除指定的class属性 //$("#all").removeClass();//移除class里面所有的class属性 //$("#all").toggle(//交替方法 // function () { // $(this).css("color","red"); //}, function () { // $(this).css("color","purple"); //}); //$("#div").click(function () { $("#all").toggle();});//用于显示隐藏交替指定的元素 //$("#all").click(function () { $("#div").text("class属性为:"+$("#all").attr("class"));}); //$("#all").click(function () { // $("#all").toggleClass("b") //}); //alert($("#all").hasClass("all"));//判断是否有此class属性 //alert($("#all").is(".all"));//效果同上 //alert($("#all").html());//同等于InnerHTML效果 //$("#all").html("设置成功"); //alert($("#all").text());//获取所有的文本内容 //$("#all").text("设置成功"); //alert($("[name='text']:eq(0)").val());//同等于value属性(val("设置属性值")) var newP = $("<p id='newP'>newP</p>");//创建元素,创建单个元素时因(<p/>)加上/ //p.append(newP);//追加元素到p内部后面(<p id='p'>p<p id='newP'>newP</p></p>) //newP.appendTo(p);//将newP追加到p内部后面 //p.prepend(newP);//追加元素到p内部前面(<p id='p'><p id='newP'>newP</p>p</p>) //newP.prependTo(p);//将newp追加到p内部前面 //p.after(newP);//追加元素到p元素的后面(<p id='p'>p</p><p id='newP'>newP</p>) //newP.insertAfter(p);//将newP追加到p元素的后面 //p.before(newP);//追加到p元素的前面 //newP.insertBefore(p);//将newP追加到p元素前面 //苹果 脐橙 柚子 移动属性节点 var a = $("#a"); var c = $("#c"); //c.insertBefore(a);//把c(柚子)元素移动到a(苹果)元素的前面 //a.remove();//删除节点(所有的后代节点也将被删除) //a.remove(); //c.after(a);//删除元素在添加回去 //$("ul>li").remove("li[id='a']");//根据条件删除指定元素 //a.empty();//清空元素里面的所有 //a.clone().insertAfter(c);//把复制的节点a(苹果)添加到c(柚子)的后面 //$("#d").replaceWith("<span>span</span>");//把id为#d元素里面的所有文本元素替换成指定的内容文本 //$("<span>span</span>").replaceAll("#d");//同上,只是顺序反了 //$("#ul").wrap("<b></b>");//把id为#ul的元素用<b>标签包裹起来(如果假设有多个ul元素的话此方法会将每个ul都用一个<b>包裹起来) //$("#ul").wrapAll("<b></b>");//把id为#ul的元素用<b>标签包裹起来(如果假设有多个ul元素的话此方法会将所有的ul用一个<b>包裹起来) //$("#ul").wrapInner("<b></b>")//将指定元素里面的内容用一个<b>标签包裹起来 //alert($("#ul").children().length);//获取所有的子元素(next()是获取下一个同辈节点,prev()获取上一个同辈节点,siblings()获取所有的同辈节点) //$("#ul").closest("ul").css("color","red");//检索是否与当前元素匹配,如果部匹配则返回到父元素检索,否则返回空 //alert($("#ul").css("height"));//css方法获取的高度可能有auto,且带有px,与css设置相关联,而用height()获取的高度是元素在页面上的实际高度,且不带px,width也是一样 //offset()方法 var ul = $("#ul").offset(); //alert(ul.left);//获取元素离视窗的偏移值(top) //position()方法 var ul = $("#ul").position(); //alert(ul.left);//获取绝对定位的偏移值 //$("#ul").scrollTop() $("#ul").scrollLeft()获取滚动条距离顶端和左侧的位置距离 //$("#ul").scrollTop(300) $("#ul").scrollLeft(300)设置滚动条距离顶端和左侧的位置距离 //alert(("aabaa").slice(-2));//slice()返回前两个字符串,2为返回索引开始后面的字符串 $("#over").mouseover(function (e) { var tool = $("<div id='tool'>悬浮的内容</div>"); $("body").append(tool); tool.css("position", "absolute").css("top", e.pageY+"px").css("left", e.pageX + "px"); //tool.css({ "top": e.pageY + "px", "left": e.pageX + "px" }).show(); //alert(e.pageX+" "+e.pageY); }).mouseout(function () { $("#tool").remove(); }); }); </script> </body> </html>
jQuery DOM操作实例
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@