jQuery复习总结(二)选择器 详细实例代码+截图调试(迅速入门掌握)

常用选择器

Basics

$(‘code’) ——元素选择器

JavaScript原生方法实现在DOM中选择指定类型元素
document.getElementsByTagName("tagName")
jQuery简化后
$("p") — 选择<p>标签元素 
$("div") — 选择<div>标签元素

$(’#myid’) ——id选择器

JavaScript原生方法实现在DOM中选择指定id值的元素
document.getElementById("id")
jQuery简化后
$("#test") — 选择id为“test”的标签元素
$("#demo") — 选择id为“demo”的标签元素

$(’.myclass’) ——类选择器

JavaScript没有提供内置的类选择方法
jQuery简化后
$(".test") — 选择class为“test”的标签元素
$(".index") — 选择class为“index”的标签元素

$(’*’) ——通配选择器

$("*") — 选择所有的元素 //设置的css会作用在所有的元素之上 包括body

$(‘code, #myid, .myclass’) ——分组选择器

css样式或是事件将发生在所有`<code>`标签元素上,id为myid还有class为myclass的元素上

Hierarchy

$(‘div code’)
选择匹配<div>后代里所有<code>元素

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<div>
			<code>something test1</code>
			<p>test</p>
			<code>something test2</code></br>
			<code>something test3</code>
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('div code').css('backgroundColor','yellow');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

$(‘parent>child’)
前一个元素为父元素,后一个为子元素,匹配前一个元素的所有后一个子元素,且为直接子元素

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<div>
			<ul>
				<li>1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
				<li>5</li>
				<div>
					<li>这个不会被选到</li>
				</div>
			</ul>
			<li>这个不会被选到</li>
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('ul>li').css('backgroundColor','yellow');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述
注意 区别在于子元素必须是父元素的直接子元素,例子中,第一个<li>不是<ul>的直接子元素,所以未被选中

$('prev + next ')
选择prev的紧跟的第一个元素

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<div>
			<p class="test">test</p>
			<p>test2</p>
			<p>test3</p>
			<h3>test5</h3>
			<p>test4</p>
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('.test+p').css('backgroundColor','yellow');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

只选择到了test2这个<p>标签
$(‘prev ~ siblings’)
选择prev的所有兄弟siblings元素

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<div>
			<p class="test">test</p>
			<p>test2</p>
			<p>test3</p>
			<h3>test5</h3>
			<p>test4</p>
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('.test~p').css('backgroundColor','yellow');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

Basic Filters

在这里插入图片描述
举例:

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<div>
			<ul>
				<li>0</li>
				<li>1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
				<li>5</li>
			</ul>
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('ul li:first').css('backgroundColor','yellow');
			$('ul li:last').css('backgroundColor','red');
			$('ul li:eq(3)').css('backgroundColor','blue');
			$('ul li:odd').css('fontSize','20px');
			$('ul li:even').css('fontSize','40px');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

Content Filters

在这里插入图片描述
举例:

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<div class="test">
			<div>This is Haris test example</div>
			<div>Haris test example</div>
			<div style="width:30px,height:10px,solid,bodersize:1px">
			</div>
			<p hidden="hidden">这个看不见</p>
			<table>
				<tr>
					<td>1</td>
					<td hidden="hidden">2</td>
					<td>3</td>
					<td hidden="hidden">4</td>
					<td>5</td>
				</tr>
			</table>
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('.test div:contains("This")').css('backgroundColor','yellow');
			$('.test div:empty').css('backgroundColor','red');
			$('tr td:hidden').css('backgroundColor','black').show(2000);
			$('tr td:visible').css('backgroundColor','green');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

Attribute Filters

在这里插入图片描述
举例:

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body >
		<div class="test">
			<div id="test" title="test">this is a div with id attribute</div>
			<div class="test1" title="test">this is a div with class attribute1</div>
			<div class="test2" title="test2">this is a div with class attribute2</div>
			<div class="test3" title="test">this is a div with class attribute3</div>
			<a href="#">
		</div>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('[id]').css('backgroundColor','yellow');
			$('[class="test1"]').css('backgroundColor','red');
			$('[title!="test"]').css('backgroundColor','blue');
			$('[class$="t3"]').css('backgroundColor','green');
        });
    });
    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

title不为test的所有元素全部被变为蓝色 只有title不为test的三个div没有变成蓝色
在这里插入图片描述

Child Filters

$(‘li:first-child’)
第一个子元素
$(‘li:last-child’)
最后一个子元素
$(‘li:nth-child(even)’)
偶数个子元素
$(‘li:nth-child(odd)’)
奇数个子元素
$(‘li:nth-child(2)’)
第二个子元素
$(‘li:nth-child(2n)’)
偶数个子元素
$(‘code:only-child’)
匹配唯一子元素

举例:

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body >
		<ul>
			<li><sapn>0</span><span>000</span></li>
			<li>1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
			<li>5</li>
			<li>6</li>
		</ul>
		<ul>
			<li>7</li>
		</ul>
		<button>Click Me</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
        $('button').on('click', function() {
            $('li:first-child').css('backgroundColor','yellow');
			$('li:last-child').css('backgroundColor','red');
			$('li:nth-child(3)').css('backgroundColor','yellow');
			$('li:nth-child(even)').css('fontSize','15px');
			$('li:nth-child(odd)').css('fontSize','30px');
			$('li:only-child').css('backgroundColor','blue');
        });
    });

    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

Forms

在这里插入图片描述
同元素选择器一样,<input>表单控件的type选择

Form Filters

在这里插入图片描述
<input>type选择的基础上出现了选择表单控件的状态不同时的选择器

举例:

<html>
    <head>
        <title>JQuery selector</title>
    </head>
    <body>
		<form id="form1">
		<input type="text" name="" value="文本域"><br/>
		<input type="password" name="" value="密码域"><br/>
		<input type="checkbox" name="" value="复选框">复选框<br/>
		<input type="radio" name="" value="单选按钮">单选按钮<br/>
		<input type="image" src="" value="图像域"><br/>
		<input type="file" src="" value="文件域"><br/>
		<input type="hidden" name="" value="隐藏域"><br/>
		<input type="button" value="普通按钮" onclick=""><br/>
		<input type="submit" value="提交按钮" onclick=""><br/>
		<input type="reset"  value="重置按钮" onclick=""><br/>
	    </form>
	<br/>
	<br/>
	<br/>
	<br/>
	<button id="action">变化</button>
    </body>
    <script src="../../js/jquery-3.2.1.min.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){
		$('#action').on('click',function(){
			$("#form1 :text").val("修改后的文本域");
			$("#form1 :password").val("修改后的密码域");
			$("#form1 :checkbox").val("修改后的复选框");
			$("#form1 :radio").val("修改后的单选框");
			$("#form1 :image").hide(3000);
			$("#form1 :file").hide(5000);
			$("#form1 :hidden").show(5000)
			$("#form1 :button").css('backgroundColor','yellow');
			$("#form1 :submit").css('backgroundColor','red');
			$("#form1 :reset").css('backgroundColor','blue');
		});
    })
    </script>
    <!-- <script src="/js/jquery-latest.js"></script> -->
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值