初识jQuery之jQuery-Dom操作和数据操作(四)

一、Dom操作

1.parents() :获取当前元素的所有祖先节点,参数就是筛选功能;

2.closest() : 获取最近的指定的祖先节点(包括当前元素自身),必须要写筛选的参数,只能找到一个元素

<script>

$(function(){
	
	$('#div2').parents('.box').css('background','red');
	//body会变红
	$('#div2').closest('.box').css('background','red');
	//只有div2变红
});
</script>
<body class="box">
<div id="div1">aaa
	<div id="div2" class="box">bbb</div>
</div>
</body>

3.siblings()、nextAll()和prevAll()

siblings() : 找所有的兄弟节点,参数是筛选功能

nextAll() : 下面所有的兄弟节点,参数是筛选功能

prevAll() : 上面所有的兄弟节点,参数是筛选功能

4.Until()、parentsUntil()和nextUntil(),prevUntil

Until() : 截止,参数指定截止位置,不包括自身

<script>

$(function(){
	
	$('span').nextUntil('h2').css('background','red');
	
});

</script>
<body>
<div>div</div>
<span>span</span>
<p>p</p>
<h1>h1</h1>
<h2>h2</h2>
<em>em</em>
</body>

结果:
image.png

二、Dom操作和数据操作

1.clone() : 可以接收一个参数 ,作用可以复制之前的操作行为

$(function(){
	
	$('div').click(function(){
		alert(123);
	});
	
	$('div').clone(true).appendTo( $('span') );
	//点击新生成的div会有123弹出
});
<body>
<div>div</div>
<span>span</span>
</body>

结果:
image.png

注意:clone(true)使克隆版也具有原版的操作

2.wrap() : 包装

wrapAll() : 整体包装

wrapInner() : 内部包装

unwrap() : 删除包装 ( 删除父级 : 不包括body )

wrapInner()性质:
<body>
$(function(){
	
	$('span').wrapInner('<div>');
	
	
});
<span>span</span>
<div>
	<span>span</span>
</div>
<span>span</span>

</body>
结果:

wrapInner

unwrap()性质:
$(function(){
	
	$('span').unwrap();
	
});

结果:
unwrap

3.add():对节点添加组合的一种方法

<script>



$(function(){
	
	var elem = $('div');
	
	var elem2 = elem.add('span');
	
	elem.css('color','red');
	elem2.css('background','yellow');
	//div和span背景都变黄
});

</script>
<body>
<div>div</div>
<span>span</span>
</body>

4.slice():截取数组的范围

<body>
<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
</body>
$('li').slice(1,4).css('background','red');
//使1到3的li都变红
注意:第二个参数表示截止前

serialize()和serializeArray():对数据进行数据化串联,解析操作

<script>
$(function(){
	
	console.log($('form').serialize());  //string : a=1&b=2&c=3
	
	console.log( $('form').serializeArray() );
	/*输出
	[
		{ name : 'a' , value : '1' },
		{ name : 'b' , value : '2' },
		{ name : 'c' , value : '3' }
	]
	*
});
<body>
<form>	
    <input type="text" name="a" value="1">
    <input type="text" name="b" value="2">
    <input type="text" name="c" value="3">
</form>
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(答案见下载资源) 上机任务1 用chrome打开dom.sample2.html页面, 在chrome的控制台中输入jQuery代码并执行,完成以下选择动作: (1)查找id号为tigerLily的元素 (2)查找拥有类myList的元素 (3)查找所有的input元素 (4)查找所有img元素和tr元素 (5)查找id号为coffeePot和id号为someDiv的元素 (6)选择具有id属性的所有元素 (7)选择具有id属性的input元素 (8)选择其value属性等于A的元素 (9)选择其value属性等于A或等于C的元素 (10)选择其title属性值中含有dog的img元素 (11)选择其href属性值以http开头的a元素 (12)选择div元素内嵌套的span元素 上机任务2 用chrome打开dom.sample2.html页面, 在chrome的控制台中输入jQuery代码并执行,完成以下选择动作: (13)选择元素li,该元素作为拥有myList类的ul元素的直接子元素 (14)选择id号为radioA的input元素后面的第一个input兄弟元素 (15)选择id号为radioA的input元素后面的所有input兄弟元素 (16)选择dom sample页面中第3个tr元素 (17)选择其type属性值checkbox且索引为偶数的input元素 (18)选择非最后一行的tr元素 (19)选择所有的checkbox元素 (20)选择所有被选中的表单元素 (21)选择含有1972的td元素 (22)选择包含有sapn元素的div元素 (23)选择表格中每行的第一个单元格和最后一个单元格 (24)选择表格中第3行,标题行不算(要求用nth-child()过滤器) 上机任务3 用chrome打开dom.sample2.html页面,该页面中内嵌有几个CSS类:.red .green .blue .yellow .thickBorder .seeThrough 在chrome的控制台中输入jQuery代码并执行,完成以下选择动作: (1)将拥有alt属性的倒数第二个图片元素应用yellow类 (2)将第一个checkbox表单元素应用.green样式 (3)求id值为checkbox3的元素在所有表单元素里的顺序号 (4)用一条链式语句完成:先对所有img元素应用seeThrough样式,再为所有img元素和tr元素应用yellow样式 (5)用filter方法实现:选择单元格内容为Java或Smalltalk的单元格 (6)取图片集中的第2,3,4张图片 (7)用has方法实现:选择那些包含有ul元素的li元素 (8)将tbody每个单元格里的文字设为:我爱jQuery (9)查找form元素的后代元素中标签为label的元素 (10)查找表单元素中是否有id值为checkbox5的元素 提示: 为某dom元素应用某css样式可以使用jQuery中的addClass方法,例如:将id为tt的div元素应用.bt样式,可用些语句:$("#tt").addClass("color","red");

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值