jQuery基础——使用过滤器—3串联

        jQuery链式语法能够实现在一行代码中完成各种复杂的任务。但是在很多情况下用户希望jQuery方法能够操作不同的jQuery对象,或者前后方法能够互相影响,为此jQuery提供两个串联方法:addBack()和end()。

1、合并jQuery对象

先看一个简单的示例。

		<div id="">
			<p>少时离家老大回,乡音无改鬓毛衰。</p>
			<p>儿童遇见不相识,笑问客家何处来。</p>
		</div>
		<script src="./js/jquery-3.6.0.min.js"></script>
		<script type="text/javascript">
			$(function(){
				$("div").find("p").css({"border":"solid 1px red","margin":"4px"})
			})
		</script>

        在上面的代码中,$("div")匹配文档中<div>标签,然后调用jQuery对象 的find()方法获取<div>标签包含的两个<p>标签,此时$("div").find("p")属性两个不同的jQuery对象。此时在浏览器中预览,可以看到仅<p>标签显示了边框样式。如图所示。

        如果希望同时外围的<div>标签也定义相同的样式,则最简单的方法是重新书写一行代码,单独为div元素定义样式。显然这种做法是与jQuery的链式语法设计原则相违背的。为此jQuery定义了addBack()方法帮助用户把前后jQuery对象合并在一起,形成一个新的jQuery对象。 

$(function(){
				// 在find("p")后面添加addBack()方法,
				// 把$("div")和find("p")两个不同jQuery对象链接在一起,
				// 最后为他们定义统一的样式。
				$("div").find("p").addBack().css({"border":"solid 1px red","margin":"4px"})
			})

效果图: 

 

 对于筛选或查找后的元素,要加入先前所选元素时,使用addBack()方法会很有用。

2、返回jQuery对象

继续以上诉案例进行说明,如果希望先为<p>标签定义边框样式,再为<div>标签定义背景颜色,那么简单的做法就是重新换一行为<div>标签定义样式。不过现在利用jQuery定义的end()方法,可以保持在一行内完成两行任务,即当调用find("p").css()后,在调用end()方法返回$("div")方法匹配的jQuery对象,而不是find()方法所查找的jQuery。

		<script type="text/javascript">
			$(function(){
				$("div").find("p").addBack().css({"border":"solid 1px red","margin":"4px"})
				.end().css({"background":"blue","color":"#fff","padding":"4px"})
			});
		</script>

 

 效果图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面相进程,面相对象

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值