概述
Jquery设计文档 Author:xu_shuyi 2015-03-24 08:32:30 1.window.onload与$(document).ready() window.onload :必须等待网页中所有的内容加载完毕后(包括图片)才能执行,并且不能编写多个。 $(document).ready():网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有加载完,并且能够编写多个。 2.解决jquery库与其他库之间冲突 var $j = jQuery.noConflict();//自定义一个快捷方式 $j(function(){ $j("p").click(function(){ alert($j("p").text()); }); }); 3.Jquery中的DOM操作 3.1查找节点 3.1.1查找元素节点 /** * 获取元素节点并打印文本内容 * <ul> * <li title="apple">apple</li> * </ul> * @param {Object} "ul li:eq(1)" */ $(function(){ var $li_text = $("ul li:eq(0)").text(); var $li_html = $("ul li:eq(0)").html(); alert($li_text); alert($li_html); }); 3.1.2查找属性节点 /** * 获取属性节点并打印文本内容 * <p title="选择你最喜欢的水果.">选择你最喜欢的水果.</p> * @param {Object} "ul li:eq(1)" */ $(function(){ var $para_attr = $("p").attr("title"); alert($para_attr); }); 3.1.3创建节点 /** * 创建元素,文本,属性节点 * <ul> * <li title="apple">apple</li> * </ul> * @param {Object} "<li title = 'banana'>banana</li>" */ $(function(){ var $li_1 = $("<li title = 'banana'>banana</li>"); var $li_2 = $("<li title = 'aire'>aire</li>"); $("ul").append($li_1); $("ul").append($li_2); }); 3.1.4插入节点 append() 向每个匹配的的元素内部追加内容 appendTo() 将所有匹配的元素追加到指定的元素中 var $li_1 = $("<li title='banana'>banana</li>"); $li_1.appendTo("ul li:eq(0)"); prepend() 向每个匹配的元素内部前置内容 var $li_1 = $("<li title ='banana'>banana</li>"); $("ul").prepend($li_1); prependTo() 将所有匹配的元素前置到指定的元素中 var $li_1 = $("<li title ='banana'>banana</li>"); $li_1.prependTo("ul"); after() 向每个元素之后插入内容 var $li_1 = $("<li title ='banana'>banana</li>"); $("ul li:eq(0)"). after($li_1); insertAfter() 将所有匹配的元素插入到指定元素的后面 var $li_1 = $("<li title ='banana'>banana</li>"); $li_1.insertAfter("ul li:eq(0)"); before() 在每个元素之前插入内容 var $li_1 = $("<li title ='banana'>banana</li>"); $("ul li:eq(0)"). before($li_1); insertBefore() 将所有匹配的元素插入到指定的元素之前 var $li_1 = $("<li title ='banana'>banana</li>"); $li_1.insertBefore("ul li:eq(0)"); 3.1.5删除节点 /** * remove()方法 * <ul> * <li title="apple">apple</li> * <li title="apple">apple</li> * </ul> */ $(function(){ $("ul li:eq(1)").remove(); }); /** * 将<li>元素中属性title不等于“banana”的<li>元素删除 * @param {Object} "ul li" */ $(function(){ $("ul li").remove("li[title!=banana]"); }); /** * 清空元素中的内容 * @param {Object} "ul li" */ $(function(){ $("ul li:eq(1)").empty(); }); 3.1.6复制节点 /** * 复制当前单击的节点,并将其追加到<ul>元素中 * clone(true):注意true * 在clone()方法中传递了一个参数true,他的含义是复制元素的同时复制元素所绑定的事件 * @param {Object} "ul li" */ $(function(){ $("ul li").click(function(){ $(this).clone(true).appendTo("ul"); }); }); 3.1.7替换节点 /** * <p title="选择你最喜欢的水果.">选择你最喜欢的水果.</p> * @param {Object} "p" */ $(function(){ $("p").replaceWith("<strong>你最不喜欢的水果是?</strong>"); }); /** * <p title="选择你最喜欢的水果.">选择你最喜欢的水果.</p> * @param {Object} "p" */ $(function(){ $("<strong>你最不喜欢的水果是?</strong>").replaceAll("p"); }); 3.1.8包裹节点 /** * 用b标签把strong元素包裹起来 * @param {Object} "strong" */ $(function(){ $("strong").wrap("<b></b>"); //将所有匹配的元素用一个元素来包裹 $("strong").wrapAll("<b></b>"); //将每一个匹配的元素的子内容(包含文本节点)用其他结构化的标价包裹起来 $("strong").wrapInner("<b></b>"); }); 3.2属性操作 3.2.1获取属性,设置属性和删除属性 /** * 获取属性,设置属性和删除属性 * @param {Object} "p" */ $(function(){ var $para = $("p").attr("title"); alert($para); $("p").attr("title","my title"); //将一个 名/值 形式的对象设置为匹配元素的属性 // $("p").attr({"title":"my title","name":"my name"}); $("p").removeAttr("title"); }); 3.3样式操作 3.3.1追加样式 /** * jquery提供了专门的addClass来追加样式 * @param {Object} "input:eq(0)" */ $(function(){ $("input:eq(0)").click(function(){ $("p").addClass("another"); }); }); 3.3.2样式切换 /** * 切换样式,toggle()方法此处的作用是交替执行代码 3 4 两个函数 * 如果元素是显示的,则隐藏它;如果是隐藏的,则显示它 * <p class="another" style="display:none" title="选择你最喜欢的水果.">选择你最喜欢的水果.</p> * <input name="uname" value="xushuyi"/> * @param {Object} "input:eq(0)" */ $(function(){ $("input:eq(0)").click(function(){ $("p").toggle(function(){ //显示 3 },function(){ //隐藏 4 }); }); }); /** * 样式的切换 * 当点击"切换样式"按钮后,在原样式的基础上追加high样式 * 再次点击"切换样式"按钮后,又恢复到原样式 * @param {Object} "p" */ $(function(){ $("input:eq(0)").click(function(){ $("p").toggleClass("high"); }); }); 3.4设置、获取HTML、文本和值 3.4.1html()方法 /** * 类似于javascript中的innerHTML属性 * 用来读取或设置某个元素中的HTML内容 * @param {Object} "p" */ $(function(){ var $p_html = $("p").html(); alert($p_html); //设置P元素中的代码 $("p").html("<strong>选择你最喜欢的水果.</strong>"); }); 3.4.2text()方法 /** * 类似于javascript中的innerText属性 * 用来读取或设置某个元素中的HTML内容 * @param {Object} "p" */ $(function(){ var $p_text = $("p").text(); alert($p_text); //设置P元素中的文本内容 $("p").text("<strong>选择你最喜欢的水果.</strong>"); }); 3.4.3val()方法 /** * focus()方法相当于javascript中的onfocus()方法,处理获取焦点事件 * blur()方法相当于javascript中的onblur()方法,处理失去焦点事件 * @param {Object} "#address" */ $(function(){ $("#address").focus(function(){ var $text = $(this).val(); if($text=="请输入邮箱地址!"){ $(this).val(''); } }); $("#address").blur(function(){ var $text = $(this).val(); if($text==''){ $(this).val("请输入邮箱地址!"); } }); }); /** * <select id="single"> * <option>选择1号</option> * <option>选择2号</option> * <option>选择3号</option> * </select> * <select id="multiple" multiple="multiple" style="height:120px;"> * <option>选择1号</option> * <option>选择2号</option> * <option>选择3号</option> * </select> * @param {Object} "#single" */ $(function(){ $("#single").val("选择2号"); $("#multiple").val(["选择1号","选择3号"]); }); 3.4事件的绑定 /** * 在文档加载完成后,如果打算为元素绑定事件来完成某些操作,可以使用bind()方法 * 来对匹配元素进行特定事件的绑定 * unbind()方法,为删除绑定事件: * $("input:eq(0)").unbind("click",fun); * $("input:eq(0)").bind("click"); * @param {Object} "input:eq(0)" */ $(function(){ $("input:eq(0)").bind("click",fun); }); function fun(){ alert("我是绑定事件!"); } /** * 体现bind()方法的用法 * <div id="panel"> <h5 class="head">什么事jquery?</h5> <div class="content" style="display:none"> jquery是继Prototype之后又一个优秀的javascript库。 </div> </div> * @param {Object} "#panel h5.head" */ $(function(){ $("#panel h5.head").bind("click",function(){ $(this).next("div.content").show(); }); }); 3.5合成事件 3.5.1hover()光标悬停 /** * hover()方法的用法:hover(enter,leave) * 用来模拟光标悬停事件,当光标移动到元素上时,会触发指定的第一个函数 * 当光标移除这个元素时,会触发第二个函数 * <div id="panel"> <h5 class="head">什么事jquery?</h5> <div class="content" style="display:none"> jquery是继Prototype之后又一个优秀的javascript库。 </div> </div> * @param {Object} "#panel h5.head" */ $(function(){ $("#panel h5.head").hover(function(){ $(this).next("div.content").show(); },function(){ $(this).next("div.content").hide(); }); }); 3.5.2mouse()光标滑过 /** * 当光标滑过“标题”链接时,相应内容被显示 * 当光标滑出“标题”链接后,相应内容被隐藏 * <div id="panel"> <h5 class="head">什么事jquery?</h5> <div class="content" style="display:none"> jquery是继Prototype之后又一个优秀的javascript库。 </div> </div> * @param {Object} "#panel h5.head" */ $(function(){ $("#panel h5.head").mouseover(function(){ $(this).next("div.content").show(); }); $("#panel h5.head").mouseout(function(){ $(this).next("div.content").hide(); }); }); 3.6绑定事件
转载于:https://www.cnblogs.com/xushuyi/articles/5548558.html
最后
以上就是和谐缘分为你收集整理的JS/JQUERY(18)——JQUERY函数设计的全部内容,希望文章能够帮你解决JS/JQUERY(18)——JQUERY函数设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复