jQuery选择器及jquery案例详解(必看)


Posted in Javascript onMay 20, 2016

JQuery选择器

解析:为了更好的或者是更快的从复杂的DOM树中找到我们需要的一类标签

1.层次选择器

<!-- 当点击h2元素时,为#menu下的<span>元素添加色为#09F的颜色背景 -->
<!-- <script type="text/javascript">
$(function () {
$('h2').click(function () {
$('#menu span').css('background-color','#09F');
});
});
</script>-->

2.基本选择器

<!-- 为标签选择器添加样式 -->
<script type="text/javascript">
$(function () {
$('h2').click(function () {
$('h3').css('background-color', '#09F');

});
});
</script>

3.基本过滤选择器

<script type="text/javascript">
$(function () {
$('h2').click(function () {
//$('li:first').css('background-color', '#09F');//第一个
//$('li:last').css('background-color', '#09F');//最后一个
//$('li:not(.three)').css('background-color', '#09F');//class不为three的元素
// $('li:even').css('background-color', '#09F');//索引值为偶数的元素
// $('li:eq(1)').css('background-color', '#09F');//索引值为1的元素
//$('li:gt(1)').css('background-color', '#09F');//索引值大于1的元素
//$('li:lt(1)').css('background-color', '#09F');//索引值小于1的元素
//$(':header').css('background-color', '#09F');//所有标题的元素
$(':focus').css('background-color', '#09F');//获取焦点的元素
});
});
</script>

4.可见性过滤选择器

<script src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function () {
// $('p:hidden').show();//显示文字
$('p:visible').hide();//隐藏文字
});
</script>
<style type="text/css">
#txt_show
{
display:none;color:#00C;
}
#txt_hide
{
display:block;color:#F30;
}
</style>
</head>
<body>
<p id="txt_hide">点击按钮,我会被隐藏哦~</p>
<p id="txt_show">隐藏的我,被显示了,嘿嘿~</p>
<input type="button" name="show" value="点击显示文字 " />
<input type="button" name="hide" value="点击隐藏文字 " />
</body>

5.属性选择器

<!--改变class属性的值为odds的元素的背景颜色 -->
<script type="text/javascript">
$(function () {
$("h2").click(function () {
$("[class=odds]").css("background-color", "#FFFFFF");
})
});
</script>

Jquery能做什么

访问和操作DOM元素

控制页面样式

对页面事件进行处理

扩展新的jQuery插件

与Ajax技术完美结合

Jquery的优势

体积小,压缩后只有100KB左右

强大的选择器

出色的DOM封装

可靠的事件处理机制

出色的浏览器兼容性

使用隐式迭代简化编程

丰富的插件支持

jQuery的知识的分解:

1.关于window.onload和$(function(){})区别

解析:window.onload等待页面上所有资源(html标签,css,img,js)都加载完成后,才执行,包括(文本素材,图片,js,css)

$(function(){}):等待页面上的标签素材加载完成后就开始执行

第二点:

Window.onload只能调用一次

$(function(){})可以调用多次

2.怎么通过Jquery设置样式

1).通过$(“选择器”).css(“属性名”,”属性值”);

//这里的书写的属性名和css中书写的一致

2).$(“选择器”).html():获取两个标签之间的html代码

3).$(“选择器”).addClass(“属性值”)

可以动态的改变dom文档结构。进而设置样式。

3.DOM对象和Jquery对象的转换

jquery对象转换成 dom对象

jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。

ar cr= cr=("#cr"); //jquery对象
var cr = $cr[0]; //dom对象 也可写成 var cr=$cr.get(0);
alert(cr.checked); //检测这个checkbox是否给选中

3.dom对象转换成jquery对象

对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);

代码:

var cr=document.getElementById("cr"); //dom对象
var cr= cr=(cr); //转换成jquery对象

光棒效果案例:

js代码:

$(function () {
var lis = document.getElementsByTagName('li');
for (var i = 0; i < lis.length; i++) {
lis[i].onmouseover = function () {
this.style.background = 'red';
};
lis[i].onmouseout = function () {
this.style.background = '';
}
}
});

jQuery的代码:

$(function () {
$('li').mouseover(function () {
$(this).css('background','red');
}).mouseout(function () {
$(this).css('background', '');
})
});

jQuery瀑布流案例:

<script>
var margin = 10;//这里设置间距
var li = $("li");//这里是区块名称
var li_W = li[0].offsetWidth + margin;//取区块的实际宽度(包含间距,这里使用源生的offsetWidth函数,不适用jQuery的width()函数是因为它不能取得实际宽度,例如元素内有pandding就不行了)
function liuxiaofan() {//定义成函数便于调用
var h = [];//记录区块高度的数组
var n = document.documentElement.offsetWidth / li_W | 0;//窗口的宽度除以区块宽度就是一行能放几个区块
for (var i = 0; i < li.length; i++) {//有多少个li就循环多少次
li_H = li[i].offsetHeight;//获取每个li的高度
if (i < n) {//n是一行最多的li,所以小于n就是第一行了
h[i] = li_H;//把每个li放到数组里面
li.eq(i).css("top", 0);//第一行的Li的top值为0
li.eq(i).css("left", i * li_W);//第i个li的左坐标就是i*li的宽度
}
else {
min_H = Math.min.apply(null, h);//取得数组中的最小值,区块中高度值最小的那个
minKey = getarraykey(h, min_H);//最小的值对应的指针
h[minKey] += li_H + margin;//加上新高度后更新高度值
li.eq(i).css("top", min_H + margin);//先得到高度最小的Li,然后把接下来的li放到它的下面
li.eq(i).css("left", minKey * li_W); //第i个li的左坐标就是i*li的宽度
}
$("h3").eq(i).text("编号:" + i + ",高度:" + li_H);//把区块的序号和它的高度值写入对应的区块H3标题里面
}
}
/* 使用for in运算返回数组中某一值的对应项数(比如算出最小的高度值是数组里面的第几个) */
function getarraykey(s, v) { for (k in s) { if (s[k] == v) { return k; } } }
/*这里一定要用onload,因为图片不加载完就不知道高度值*/
window.onload = function () { liuxiaofan(); };
/*浏览器窗口改变时也运行函数*/
window.onresize = function () { liuxiaofan(); };
</script>

以上内容是小编给大家介绍的jQuery选择器及jquery案例的相关知识,希望对大家有所帮助,如果大家想了解更多有关jquery的知识敬请关注三水点靠木网站!

Javascript 相关文章推荐
用Javascript获取页面元素的具体位置
Dec 09 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
JS之if语句对接事件动作逻辑(详解)
Jun 28 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
Aug 16 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 jQuery
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
Jul 18 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
浅谈angularJS2中的界面跳转方法
Aug 31 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
微信小程序工具函数封装
Oct 28 Javascript
js实现淘宝浏览商品放大镜功能
Oct 28 Javascript
Jquery $when done then的用法详解
May 20 #Javascript
jQuery添加和删除输入文本框标签代码
May 20 #Javascript
jQuery通过deferred对象管理ajax异步
May 20 #Javascript
Bootstrap3学习笔记(三)之表格
May 20 #Javascript
快速获取/设置iframe内对象元素的几种js实现方法
May 20 #Javascript
Bootstrap3学习笔记(二)之排版
May 20 #Javascript
js获取iframe中的window对象的实现方法
May 20 #Javascript
You might like
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
详解Python3中yield生成器的用法
2015/08/20 Python
matplotlib中legend位置调整解析
2017/12/19 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
对python周期性定时器的示例详解
2019/02/19 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
银行实习的自我鉴定
2013/12/10 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
会议营销主持词
2015/07/03 职场文书
python简单验证码识别的实现过程
2021/06/20 Python