jQuery第四章DOM

第四章DOM

1:获取值的方法

html()
text()
val()  既可以获取input里面的值/也可以设置值
*  * 如果是下拉菜单 、单选、多选的情况下  val([''])方法  还可以将他们设置成默认选中
prop('checked',true)  专属input默认选中方法
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		苹果:<input type="checkbox" name="" id="" value="苹果"/>
		香蕉:<input type="checkbox" name="" id="" value="" />
		西瓜:<input type="checkbox" name="" id="" value="" />
	</body>
	<script type="text/javascript">
//		$('input').prop('checked',true)
//		$('input').eq(0).val(['苹果'])
	</script>
</html>

2:操作属性的方法

attr()  获取/设置元素属性的方法
**  attr()还可以设置多个属性 设置多个属性采用对象的模式 attr({'k1':'v1','k2':'v2','k3':'v3'})
removeAttr() 移除属性方法

addClass() 	只能向元素添加class值
removeClass()	删除属性方法

toggleClass() 添加样式切换方法  (方法中不加 .)

hasClass()/is()	检查元素是否包含指定的类  (方法中不加 .)
<body>
		<ul>
			<li class="a" id="b">000000000000</li>
			<li>111111111111</li>
			<li>222222222222</li>
			<li>333333333333</li>
			<li>444444444444</li>
			<li>555555555555</li>
			<li>666666666666</li>
		</ul>
	</body>
	<script type="text/javascript">
//		alert($('li').eq(0).attr('id'))
//		$('li').eq(0).attr('id','box')
//		$('li').eq(1).attr({'class':'box1','id':'box2','name':'box3','style':'color:red'})
//		$('li').eq(0).removeAttr('class')
//		$('li').eq(3).addClass('box');
//		$('li').eq(0).removeClass();
		
	</script>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.bl{
				width: 100px;
				height: 100px;
				background: #000;
			}
			.red{
				width: 100px;
				height: 100px;
				background: red;
			}
			.blue{
				width: 100px;
				height: 100px;
				background: blue;
			}
		</style>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div class="bl"></div>
	</body>
	<script type="text/javascript">
//	alert($('div').hasClass('bl'))
		$('div').click(function(){		
			if($(this).hasClass('red')){
				$(this).toggleClass('blue')
			}else{
				$(this).toggleClass('red')
			}
		})
	</script>
</html>

3:遍历方法(each) :节点内部插入

var box=$('<div id="box">你好</div>')	创建一个标签
append()								插入一个标签
appendTo()								插入到标签里面的后面
prepend('插入一对标签')					           插入到标签里面的前面
prependTo()								插入到标签里面的后面

each遍历

		<script type="text/javascript">
//		$(function(){
//			$('li').each(function(){
//				alert($(this).index())
//			})
//		})	
		$(document).ready(function(){
			$('li').each(function(){
				alert($(this).index())
			})
		})
	</script>
	</head>
	<body>
		<ul>
			<li>000000000000</li>
			<li>111111111111</li>
			<li>222222222222</li>
			<li>333333333333</li>
			<li>444444444444</li>
			<li>555555555555</li>
			<li>666666666666</li>
		</ul>
	</body>

内部插入

	<body>
		<div>大哥</div>
		<p>大姐</p>
	</body>
	<script type="text/javascript">
		var h=$('<h1>小哥哥哥</h1>');
		$('body').append(h)
//		$('div').appendTo($('p'))
//		$('div').appendTo(h)
//		$('div').prepend('<p>小姐姐</p>')
//		$('div').prependTo('p')
//		$('div').append(function(i,html){
//			return '<h1>好傻啊</h1>'+i+html;
//			//i 是下标
//			//html 是被插入标签的内容
//		})
	</script>

5:节点外部插入

after()		向指定元素后插入一个同级标签
before()	向指定元素前插入一个同级标签
insertAfter()将指定元素移入指定元素后面
insertBefore()将指定元素移入指定元素后面
	<body>
		
		<div>真冷!!!</div>
		<em>卡卡卡</em>
		<p>呵呵哈哈哈</p>
	</body>
	<script type="text/javascript">
//		$('div').after('<h1>太冷了</h1>')
//		$('div').before('<span>美丽动人</span>')
//		$('div').after($('em'))
//		$('div').insertBefore('<p>哈哈哈哈</p>')//这个写法不行
//		$('div').insertBefore($('em'))//这个写法不行
//		$('div').insertAfter('em')
//		$('p').insertBefore('div')
	</script>

6:包裹节点方法

wrap()		向指定元素包裹一层代码
wrap(element)	向指定标签包裹指定标签
unwrap()		移除指定元素上一层标签
wrapAll()		包裹所有的指定元素上

wrap()和wrapAll()的区别是:
wrap()方法是把指定标签看成独立体分别包裹
wrapAll()方法是把指定标签包裹成一个独立体
<body>
		<div>
			<p>
				<span>啦啦啦啦</span>
			</p>
		</div>
		<h1></h1>
	</body>
	<script type="text/javascript">
//		$('span').wrap('<em></em>')
//		$('span').wrap('<em>吞吞吐吐</em>')
//		$('span').wrap('<em><span></span></em>')
//		$('span').wrap($('h1'))
//		$('span').unwrap().unwrap();
	</script>
<body>
		
		<em>哈哈哈哈1</em>
		<span>呵呵呵</span>
		<em>哈哈哈哈2</em>
	</body>
	<script type="text/javascript">
//		$('em').wrap('<p></p>')
		$('em').wrapAll('<p></p>')
	</script>

7:操作节点方法

clone(true/false)		克隆节点    
		** 如果克隆里面没有true  那么他是不会克隆事件行为的,有true的话就会克隆事件行为

eg:

<body>
		<button>点击</button>
	</body>
	<script type="text/javascript">
		$('button').click(function(){
			alert('冷啊')
		})
		var btn=$('button').clone(true);
		$('body').append(btn)
	</script>
remove()				删除节点
detach()				删除节点
empty()					删除内容保留标签
replaceWith()			替换节点
replaceAll()			替换节点(先创建再删除)
	<body>
		<div>
			<p>
				<button>点击</button>
			</p>
		</div>
		<em class="aa"></em>
	</body>
	<script type="text/javascript">
//		$('p').detach();
//		$('button').empty();
//		$('p').replaceWith('<h1></h1>')
//		$('button').replaceWith($('em'))
//		$('button').replaceAll('<span>7777777</span>')//这个写法不行

//		$('<span>7777777</span>').replaceAll('button')
//		$('<span>7777777</span>').replaceAll('.aa')
	</script>

8:其他css方法

width()			获取/设置元素的宽度
height()		获取/设置元素的高度
innerWidth()	获取元素的宽,包含内边距(padding)
innerHeight()	获取元素的高,包含内边距(padding)
outerWidth()	获取元素的宽,包含内边距(padding)+边框(border)
**outerWidth(true)	获取元素的宽,包含内边距(padding)+边框(border)+外边距(margin)
outerHeight()	获取元素的高,包含内边距(padding)+边框(border)
	<style type="text/css">
			div{
				width: 100px;
				height: 100px;
				padding: 50px 100px;
				margin: 50px 100px;
				background: red;
				border: 1px solid yellow;
			}
		</style>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div></div>
	</body>
	<script type="text/javascript">
//		alert($('div').width())
//		alert($('div').height())
//		alert($('div').innerWidth())
//		alert($('div').innerHeight())
//		alert($('div').outerWidth())
//		alert($('div').outerWidth(true))
//		alert($('div').outerHeight(true))

	</script>

9:元素偏移方法

offset()		元素相对可视窗口的偏移位置
position()		元素相对父元素的偏移位置
scrollTop(val)		获取/设置垂直滚动条的值
scrollLeft(val)		获取/设置横滚动条的值
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			div{
				width:200px;
				height: 200px;
				background: red;
				position:relative;
				margin: 50px 100px;
			}
			span{
				display: block;
				position: absolute;
				top:50px;
				left:50px;
				width: 130px;
				height: 130px;
				border: 1px solid yellow;
			}
		</style>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div>
			<span>哈哈</span>
		</div>
	</body>
	<script type="text/javascript">
//		alert($('div').offset())//[object Object]
//		alert($('div').offset().top)
//		alert($('div').offset().left)
//		alert($('div').offset().bottom)//只有X和Y轴值,没有bottom和right值
//		alert($('div').position().left)
//		alert($('span').position().left)
//		alert($('span').position().top)
	</script>
</html>

<body style="height: 2000px;">
		<div>
		
		</div>
		
	</body>
	<script type="text/javascript">


//		window.οnscrοll=function(){
//			console.log($(window).scrollTop());
//		}

		$('div').click(function(){
			$(window).scrollTop(0);
		})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值