jquery用法思想

选择某个网页元素,然后对它进行某种操作

jquery选择器

jquery选择器可以快速地选择元素,选择规则和css样式相同,使用length属性判断是否选择成功。

$('#myId') //选择id为myId的网页元素
$('.myClass') // 选择class为myClass的元素
$('li') //选择所有的li元素
$('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素
$('input[name=first]') // 选择name属性等于first的input元素

下面就写示例来看看,如下:


jquery选择器_jquery


还可以再简写一下,如下:


jquery选择器_html_02


对选择集进行过滤

$('div').has('p'); // 选择包含p元素的div元素
$('div').not('.myClass'); //选择class不等于myClass的div元素
$('div').filter('.myClass'); //选择class等于myClass的div元素
$('div').eq(5); //选择第6个div元素

上面演示如何使用​​jquery​​来选择上元素,那么下面继续来演示一下选择集的过滤。

​$('div').has('p');​​ // 选择包含p元素的div元素

首先写出一个样式框架,如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">

</script>
<style type="text/css">
div *{
background: gold;
}
</style>
</head>
<body>
<!-- div>(p{这是段落$}+a{这是超链接})*2 -->
<div>
<p>这是段落1</p>
<a href="">这是超链接</a>
<p>这是段落2</p>
<a href="">这是超链接</a>
<div class="box">这是div</div>
</div>
</body>
</html>


jquery选择器_jquery_03


那么使用选择集过滤,过滤​​p​​​元素设置为​​pink​​背景色,如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function(){
$('div').has('p').css('color','pink');
})
</script>
<style type="text/css">
div *{
background: gold;
}
</style>
</head>
<body>
<!-- div>(p{这是段落$}+a{这是超链接})*2 -->
<div>
<p>这是段落1</p>
<a href="">这是超链接</a>
<p>这是段落2</p>
<a href="">这是超链接</a>
<div class="box">这是div</div>
</div>
</body>
</html>


jquery选择器_html_04


​$('div').not('.myClass');​​ //选择class不等于myClass的div元素

这次的过滤是排除类名的方式,那么下面先来选中看看,如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function(){
$('div').not('.myClass').css({'backgroundColor':'cyan'});
})
</script>
</head>
<body>
<div>1</div>
<div class="myClass">2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</body>
</html>


jquery选择器_html_05


​$('div').filter('.myClass');​​ //选择class等于myClass的div元素

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function(){
$('div').not('.myClass').css({'backgroundColor':'cyan'});
$('div').filter('.myClass').css({'fontSize':'30px'});
})
</script>
</head>
<body>
<div>1</div>
<div class="myClass">2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</body>
</html>


jquery选择器_jquery_06


​$('div').eq(5);​​ //选择第6个div元素

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function(){
$('div').not('.myClass').css({'backgroundColor':'cyan'});
$('div').filter('.myClass').css({'fontSize':'30px'});
$('div').eq(5).css({'backgroundColor':'gold'});
})
</script>
</head>
<body>
<div>1</div>
<div class="myClass">2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</body>
</html>


jquery选择器_html_07


选择集转移

$('div').prev(); //选择div元素前面紧挨的同辈元素
$('div').prevAll(); //选择div元素之前所有的同辈元素
$('div').next(); //选择div元素后面紧挨的同辈元素
$('div').nextAll(); //选择div元素后面所有的同辈元素
$('div').parent(); //选择div的父元素
$('div').children(); //选择div的所有子元素
$('div').siblings(); //选择div的同级元素
$('div').find('.myClass'); //选择div内的class等于myClass的元素

​$('div').prev();​​ //选择div元素前面紧挨的同辈元素


jquery选择器_jquery_08


​$('div').prevAll();​​ //选择div元素之前所有的同辈元素


jquery选择器_html_09


​$('div').next();​​ //选择div元素后面紧挨的同辈元素


jquery选择器_javascript_10


判断是否选择到了元素

jquery有容错机制,即使没有找到元素,也不会出错,可以用length属性来判断是否找到了元素,length等于0,就是没选择到元素,length大于0,就是选择到了元素。

var $div1 = $('#div1');
var $div2 = $('#div2');
alert($div1.length); // 弹出1
alert($div2.length); // 弹出0
......
<div id="div1">这是一个div</div>


jquery选择器_html_11