jquery
jQuery是对JavaScript的封装,它是免费、开源的JavaScript函数库,jQuery 极大地简化了 JavaScript 编程。
入口函数
<script src="js/jquery-1.12.4.min.js"></script> <script> //原生js写法 window.onload = function(){ var oDiv = document.getElementById('div01'); alert('原生就是获取的div:' + oDiv); }; // jq写法 $(document).ready(function(){ var $div = $('#div01'); alert('jquery获取的div:' + $div); }); // jq简化写法: $(function(){ var $div = $('#div01'); alert('jquery获取的div:' + $div); }); </script> <div id="div01">这是一个div</div>
jq选择器
- 标签选择器
- 类选择器
- id选择器
- 层级选择器
- 属性选择器
$('#myId') //选择id为myId的标签 $('.myClass') // 选择class为myClass的标签 $('li') //选择所有的li标签 $('#ul1 li span') //选择id为ul1标签下的所有li标签下的span标签 $('input[name=first]') // 选择name属性等于first的input标签
选择集过滤
<script> $(function(){ // has方法的使用 var $div = $("div").has("#mytext"); // 设置样式 $div.css({"background":"red"}); // eq方法的使用 var $div = $("div").eq(1); // 设置样式 $div.css({"background":"yellow"}); }); </script> <div> 这是第一个div <input type="text" id="mytext"> </div> <div> 这是第二个div <input type="text"> <input type="button"> </div>
选择集转移
$('#box').prev(); 表示选择id是box元素的上一个的同级元素 $('#box').prevAll(); 表示选择id是box元素的上面所有的同级元素 $('#box').next(); 表示选择id是box元素的下一个的同级元素 $('#box').nextAll(); 表示选择id是box元素的下面所有的同级元素 $('#box').parent(); 表示选择id是box元素的父元素 $('#box').children(); 表示选择id是box元素的所有子元素 $('#box').siblings(); 表示选择id是box元素的其它同级元素 $('#box').find('.myClass'); 表示选择id是box元素的class等于myClass的元素
标签内容获取和增加
<script> $(function(){ var $div = $("#div1"); // 获取标签的html内容 var result = $div.html(); alert(result); // 设置标签的html内容,之前的内容会清除 $div.html("<span style='color:red'>你好</span>"); // 追加html内容 $div.append("<span style='color:red'>你好</span>"); }); </script> <div id="div1"> <p>hello</p> </div>
常用事件
- click() 鼠标单击
- blur() 元素失去焦点
- focus() 元素获得焦点
- mouseover() 鼠标进入(进入子元素也触发)
- mouseout() 鼠标离开(离开子元素也触发)
- ready() DOM加载完成
<script> $(function(){ var $li = $('.list li'); var $button = $('#button1') var $text = $("#text1"); var $div = $("#div1") // 鼠标点击 $li.click(function(){ // this指的是当前发生事件的对象,但是它是一个原生js对象 // this.style.background = 'red'; // $(this) 指的是当前发生事件的jquery对象 $(this).css({'background':'gold'}); // 获取jquery对象的索引值,通过index() 方法 alert($(this).index()); }); // 一般和按钮配合使用 $button.click(function(){ alert($text.val()); }); // 获取焦点 $text.focus(function(){ $(this).css({'background':'red'}); }); // 失去焦点 $text.blur(function(){ $(this).css({'background':'white'}); }); // 鼠标进入 $div.mouseover(function(){ $(this).css({'background':'gold'}); }); // 鼠标离开 $div.mouseout(function() { $(this).css({'background':'white'}); }); }); </script> <div id="div1"> <ul class="list"> <li>列表文字</li> <li>列表文字</li> <li>列表文字</li> </ul> <input type="text" id="text1"> <input type="button" id="button1" value="点击"> </div>