95_JavaWeb_Jquery1_对象_核心函数_选择器_过滤器
jQuery JavaScript 和查询(Query),它就是辅助 JavaScript 开发的类库
1 引入Jquery库 <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
2 $ 是 jQuery 的核心函数,能完成 jQuery 的很多功
1) 传入参数为 [ 函数 ] 时: 表示页面加载完成之后。相当于 window.onload = function(){}
2) 传入参数为 [ HTML 字符串 ] 时:会对我们创建这个 html 标签对象
3) 传入参数为 [ 选择器字符串 ] 时:
$(“#id 属性值”); id 选择器,根据 id 查询标签对象
$(“标签名”); 标签名选择器,根据指定的标签名查询标签对象
$(“.class 属性值”); 类型选择器,可以根据 class 属性查询标签对象
4) 传入参数为 [ DOM 对象 ] 时:会把这个 dom 对象转换为 jQuery 对象
jquery 使用$()代替window.onload
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
// 1 原始方法
window.onclick = function (){
var btnolder = document.getElementById("btnId1");
btnolder.onclick = function (){
alert("hello_old")
}
}
// 2 jquery 使用$()代替window.onload
$(function () { // 表示页面加载完成 之后,相当 window.onload = function () {}
var $btnObj2 = $("#btnId2"); // 表示按id查询标签对象
$btnObj2.click(function () { // 绑定单击事件
alert("hello_new_jQuery 的单击事件");
});
});
</script>
核心函数 & Jquery本质
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
//核心函数的4个作用
//1 传入参数为[函数]时:在文档加载完成后执行这个函数
//2 传入参数为[HTML字符串]时:根据这个字符串创建元素节点对象
$(function (){ //1 $(function (){} 相当 window.onload = function () {}
$(" <div><span>div-span1 </span></div>\n" +
" <div><span>div-span2 </span></div>").appendTo("body"); //2 $("html")
} )
//3 传入参数为[选择器字符串]时:根据这个字符串查找元素节点对象
//4 传入参数为[DOM对象]时:将DOM对象包装为jQuery对象返回
$(function (){
var btnObj = document.getElementById("btn01");
alert(btnObj) //[object HTMLButtonElement]
alert($(btnObj)) // jQuery对象 [object Object]
alert( $( "#btn01")[0]) // jquery对象本质是dom对象的集合(数组) [object HTMLButtonElement]
alert($( "#btn01").length) 1
})
jQuery 对象和 dom 对象
jQuery 对象的本质 //alert($); - 本质是个函数 function(selector, context){} :
jQuery对象是dom对象的数组 + jQuery 提供的一系列功能函数
Dom 对象 (DOM对象Alert出来的效果是:[object HTML 标签名 Element])
1.通过 getElementById() ; getElementsByName(); getElementsByTagName()查询出来的标签对象是 Dom 对象
2.通过 createElement() 方法创建的对象,是Dom对象 ;
jQuery 对象 (Alert 出来的效果是:[object Object])
1.通过 JQuery提供的API创建的对象,是JQuery 对象
2.通过 JQuery包装的Dom对象,也是 JQuery 对象
3.通过 JQuery提供的 API 查询到的对象,是 JQuery 对象
jQuery 对象不能使用 DOM 对象的属性和方法
DOM 对象也不能使用 jQuery对象的属性和方法
<script type="text/javascript">
$(function(){
// var arr = [12,"abc",true];
var $btns = $("button");
//$btns = init(4) [button#dom2dom, button#dom2jQuery, button#jQuery2jQuery, button#jQuery2dom, prevObject: init(1), context: document, selector:
for (var i = 0; i < $btns.length; i++){
alert($btns[i]);
}
// document.getElementById("testDiv").innerHTML = "这是dom对象的属性InnerHTML";
$("#testDiv").innerHTML = "这是dom对象的属性InnerHTML";
$("#testDiv").click(function () {
alert("click()是jQuery对象的方法");
});
// document.getElementById("testDiv").click(function () {
// alert("click()是jQuery对象的方法");
// });
// alert( $(document.getElementById("testDiv"))[0] );
alert( $("button:first") );
});
</script>
</head>
<body>
<div id="testDiv">Alex is Very Good!</div>
<button id="dom2dom">使用DOM对象调用DOM方法</button>
<button id="dom2jQuery">使用DOM对象调用jQuery方法</button>
<button id="jQuery2jQuery">使用jQuery对象调用jQuery方法</button>
<button id="jQuery2dom">使用jQuery对象调用DOM方法</button>
</body>
选择器
1 基本选择器
#ID 选择器: 根据 id 查找标签对象
.class 选择器: 根据 class 查找标签对象
element 选择器:根据标签名查找标签对象
* 选择器: 表示任意/所有的元素
selector1,selector2 组合选择器: 合并选择器1,选择器2 的结果集返回 ($("span,#two"))
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function () {
//1.选择 id 为 one 的元素 "background-color","#bbffaa"
$("#btn1").click(function () {
// css() 方法 可以设置和获取样式
$("#one").css("background-color","#bbffaa");
});
//2.选择 class 为 mini 的所有元素
$("#btn2").click(function () {
$(".mini").css("background-color","#bbffaa");
});
//3.选择 元素名是 div 的所有元素
$("#btn3").click(function () {
$("div").css("background-color","#bbffaa");
});
//4.选择所有的元素
$("#btn4").click(function () {
$("*").css("background-color","#bbffaa");
});
//5.选择所有的 span 元素和id为two的元素
$("#btn5").click(function () {
$("span,#two").css("background-color","#bbffaa");
});
});
</script>
2 层级选择器
ancestor descendant 后代选择器 :在给定的祖先元素下匹配所有的后代元素
parent > child 子元素选择器:在给定的父元素下匹配所有的子元素
prev + next 相邻元素选择器:匹配所有紧接在 prev 元素后的 next 元素
prev ~ sibings 之后的兄弟 平级元素选择器:匹配 prev 元素之后的所有 siblings 元素
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//1.选择 body 内的所有 div 元素
$("#btn1").click(function(){
$("body div").css("background", "#bbffaa");
});
//2.在 body 内, 选择div子元素
$("#btn2").click(function(){
$("body > div").css("background", "#bbffaa");
});
//3.选择 id 为 one 的下一个 div 元素
$("#btn3").click(function(){
$("#one+div").css("background", "#bbffaa");
});
//4.选择 id 为 two 的元素后面的所有 div 兄弟元素
$("#btn4").click(function(){
$("#two~div").css("background", "#bbffaa");
});
});
</script>
3 过滤选择器- 基本过滤器
:first 获取第一个元素
:last 获取最后个元素
:not(selector) 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,从 0 开始计数
:odd 匹配所有索引值为奇数的元素,从 0 开始计数
:eq(index) 匹配一个给定索引值的元素
:gt(index) 匹配所有大于给定索引值的元素
:lt(index) 匹配所有小于给定索引值的元素
:header 匹配如 h1, h2, h3 之类的标题元素
:animated 匹配所有正在执行动画效果的元素
<script type="text/javascript">
$(document).ready(function(){ //简写:$(function () {}
function anmateIt(){
$("#mover").slideToggle("slow", anmateIt);
}
anmateIt();
});
$(document).ready(function(){
//1.选择第一个 div 元素
$("#btn1").click(function(){
$("div:first").css("background", "#bbffaa");
});
//2.选择最后一个 div 元素
$("#btn2").click(function(){
$("div:last").css("background", "#bbffaa");
});
//3.选择class不为 one 的所有 div 元素
$("#btn3").click(function(){
$("div:not(.one)").css("background", "#bbffaa");
});
//4.选择索引值为偶数的 div 元素
$("#btn4").click(function(){
$("div:even").css("background", "#bbffaa");
});
//5.选择索引值为奇数的 div 元素
$("#btn5").click(function(){
$("div:odd").css("background", "#bbffaa");
});
//6.选择索引值为大于 3 的 div 元素
$("#btn6").click(function(){
$("div:gt(3)").css("background", "#bbffaa");
});
//7.选择索引值为等于 3 的 div 元素
$("#btn7").click(function(){
$("div:eq(3)").css("background", "#bbffaa");
});
//8.选择索引值为小于 3 的 div 元素
$("#btn8").click(function(){
$("div:lt(3)").css("background", "#bbffaa");
});
//9.选择所有的标题元素
$("#btn9").click(function(){
$(":header").css("background", "#bbffaa");
});
//10.选择当前正在执行动画的所有元素
$("#btn10").click(function(){
$(":animated").css("background", "#bbffaa");
});
//11.选择没有执行动画的最后一个div
$("#btn11").click(function(){
$("div:not(:animated):last").css("background", "#bbffaa");
});
});
</script>
4 内容过滤器-属性过滤选择器:
:contains(text) 匹配包含给定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:parent 匹配含有子元素或者文本的元素
:has(selector) 匹配含有选择器所匹配的元素的元素
[attribute] 匹配包含给定属性的元素。
[attribute=value] 匹配给定的属性是某个特定值的元素
[attribute!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素
[attribute^=value] 匹配给定的属性是以某些值开始的元素
[attribute$=value] 匹配给定的属性是以某些值结尾的元素
[attribute*=value] 匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用
$(function() {
//1.选取含有 属性title 的div元素
$("#btn1").click(function() {
$("div[title]").css("background", "#bbffaa");
});
//2.选取 属性title值等于'test'的div元素
$("#btn2").click(function() {
$("div[title='test']").css("background", "#bbffaa");
});
//3.选取 属性title值不等于'test'的div元素(*没有属性title的也将被选中)
$("#btn3").click(function() {
$("div[title!='test']").css("background", "#bbffaa");
});
//4.选取 属性title值 以'te'开始 的div元素
$("#btn4").click(function() {
$("div[title^='te']").css("background", "#bbffaa");
});
//5.选取 属性title值 以'est'结束 的div元素
$("#btn5").click(function() {
$("div[title$='est']").css("background", "#bbffaa");
});
//6.选取 属性title值 含有'es'的div元素
$("#btn6").click(function() {
$("div[title*='es']").css("background", "#bbffaa");
});
//7.首先选取有属性id的div元素,然后在结果中选取属性title值 含有'es'的 div 元素
$("#btn7").click(function() {
$("div[id][title*='es']").css("background", "#bbffaa");
});
//8.选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素
$("#btn8").click(function() {
$("div[title][title!='test']").css("background", "#bbffaa");
});
});
5 表单过滤器
:input 匹配所有input, textarea, select 和 button 元素 (使用频率较低)
:text 匹配所有文本输入框
:password 匹配所有的密码输入框
:radio 匹配所有的单选框
:checkbox 匹配所有的复选框
:submit 匹配所有提交按钮
:image 匹配所有 img 标签
:reset 匹配所有重置按钮
:button 匹配所有 input type=button <button>按钮
:file 匹配所有 input type=file 文件上传
:hidden 匹配所有不可见元素 display:none 或 input type=hidde
6 表单对象属性过滤器
:enabled 匹配所有可用元素
:disabled 匹配所有不可用元素
:checked 匹配所有选中的单选,复选,和下拉列表中选中的 option 标签对象
:selected 匹配所有选中的 option
//1.对表单内 可用input 赋值操作
$("#btn1").click(function(){
// val()可以操作表单项的value属性值
// 它可以设置和获取, 传入参数就是赋值,空参就是获取
$(":text:enabled").val("我是万能的程序员");
});
//2.对表单内 不可用input 赋值操作
$("#btn2").click(function(){
$(":text:disabled").val("管你可用不可用,反正我是万能的程序员");
});
//3.获取多选框选中的个数 使用size()方法获取选取到的元素集合的元素个数
$("#btn3").click(function(){
alert( $(":checkbox:checked").length );
});
//4.获取多选框,每个选中的value值
$("#btn4").click(function(){
// 获取全部选中的复选框标签对象
var $checkboies = $(":checkbox:checked");
// 老式遍历
// for (var i = 0; i < $checkboies.length; i++){
// alert( $checkboies[i].value );
// }
// each方法是jQuery对象提供用来遍历元素的方法
// 在遍历的function函数中,有一个this对象,这个this对象,就是当前遍历到的dom对象
$checkboies.each(function () {
alert( this.value );
});
});
//5.获取下拉框选中的内容
$("#btn5").click(function(){
// 获取选中的option标签对象
var $options = $("select option:selected");
// 遍历,获取option标签中的文本内容
$options.each(function () {
// 在each遍历的function函数中,有一个this对象。这个this对象是当前正在遍历到的dom对象
alert(this.innerHTML);
});
});
})
- 点赞
- 收藏
- 关注作者
评论(0)