Jquery操作元素属性

Jquery操作DOM

1.获取元素的属性:

$('.btn').attr('property')     //property可以使元素的样式属性,如style或value等

2.0设置元素的属性:

$('.btn').attr('属性名称',''属性值);    //  $('.btn').attr('type','text')

2.1.设置元素的多个属性:

$('.btn').attr('属性名称',''属性值);    //  $('.btn').attr({'type':'text','value':'我是输入框'});

3.获取和设置表单的值:

$('input').val();//获取表单元素的值

$('input').val('value');设置表单元素的值

4.实现简单的留言板

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
    <title>实现简单的留言板</title>
    <script src="jquery-1.12.4.js"></script>
	<script type="text/javascript">
	$(function(){
		var num=1
		$('#btn').click(function(){
			var html='<p><span>用户'+num+'说:</span>'+$('#text').val()+'</p>'+$('#box').html();
			$('#box').html(html);
			$('#text').val('');
			++num;
		})
		
	});
</script>
</head>
<body>
	<h3>留言内容</h3>
	<div id="box"></div>
	<textarea id="text"></textarea><br>
	<input type="button"  id="btn" value="留言"/>
</body>
</html>

5.操作DOM节点:

5.1-创建节点:

$()函数方法   //    var obj=$('HTML代码');

html()方法     //$(div).html('HTML代码');  例如,$(div).html('<p>这是一个P段落</p>'); 

5.2-插入节点:

append()       , //  $('ul').append('<p>我是要插入的p节点</p>');  

appendTo()        //  $('<p>我是要插入的p节点</p>').appendTo('ul');

插入在内部元素的最后处  如

<div>

<ul>

<li>栏目一</li>

<li>栏目二</li>

<li>栏目三</li>
<p>我是要插入的p节点</p>

</ul>

<div>

prepend()        //  $('ul').prepend('<p>我是要插入的p节点</p>');

prependTo()    //  $('<p>我是要插入的p节点</p>').prependTo('ul');

插入在内部元素的最前面,如

<div>

<ul>

<p>我是要插入的p节点</p>

<li>栏目一</li>

<li>栏目二</li>

<li>栏目三</li>

</ul>

<div>

before()            //  $('ul').before('<p>我是要插入的p节点</p>');

insertBefore()   //  $('ul').insertBefore('<p>我是要插入的p节点</p>');

//插入在元素外部的最前面

<div>
<p>我是要插入的p节点</p>

<ul>

<li>栏目一</li>

<li>栏目二</li>

<li>栏目三</li>

</ul>

<div>

after()            //  $('ul').after('<p>我是要插入的p节点</p>');

insertAfter()   //  $('ul').insertAfter('<p>我是要插入的p节点</p>');

//插入在元素外部的最后面

<div>

<ul>

<li>栏目一</li>

<li>栏目二</li>

<li>栏目三</li>

</ul>
<p>我是要插入的p节点</p>

<div>

5.3-删除节点

remove()方法       //直接删除节点,不可恢复   $('p').remove()

empty()  方法     //清空节点中的内容,节点还存在  $('p').empty()

detach() 方法      //删除节点后可以恢复

例如:

<button id="btn1">删除段落</button>
<button id="btn2">恢复段落</button>
<p>今天天气不错</p>
<script>
var $p;//定义一个变量P
$('#btn1').click(function(){
$p=$('p').detach();//把删除的P放在变量中
});
$('#btn2').click(function(){

$($p).appendTo('body');//将变量中的P插入到body
});
</script>

5.4-复制节点

$(''div').clone()        //复制div节点,方法:定义一个新变量,将复制的节点赋值给新变量,将新变量用appndTo插入到元素节点中

                                  //后面若无参数,值复制内容,不复制行为。

                                  //后面若有参数,为true时,不但复制内容,还复制事件行为 

5.5-替换节点

$('div').replaceWith('<p>春暖花开</p>');   //方法一

$('<p>春暖花开</p>').replaceAll('div');      //方法二

5.6-包裹节点

.wrap()方法    //包裹节点,为每个匹配到的元素添加父元素,将其“包裹”起来。

 $(''li).wrap('<strong></strong>')    //执行代码后,将每个li都包裹起来如下图所示


<ul>
<strong><li>北京</li></strong>        //strong将li“包裹”起来
<strong><li>广州</li></strong>
<strong><li>上海</li></strong>
<strong><li>深圳</li></strong>
</ul>


.wrapAll()方法 

$('li').wrapAll('<strong></strong>');   //执行代码后,将全部的li使用一对strong包裹起来如下图所示


<ul>
<strong>

<li>北京</li>      //strong将全部的li整体“包裹”起来
<li>广州</li>
<li>上海</li>
<li>深圳</li>

</strong>
</ul>


.wrapInner()方法    //为匹配元素添加子元素,该子元素用来包裹匹配元素中的所有内容

$('li').wrapInner('<strong></strong>'),执行代码如下图所示 


<ul>


<li><strong>北京</strong></li>      //strong把所有li元素里的内容“包裹”起来
<li><strong>广州/<strong></li>
<li><strong>上海</strong></li>
<li><strong>深圳</strong></li>

</ul>


5.6-遍历节点

$('li').each(function(index),element);         //index为遍历元素的索引,从0开始 

                                                                  //element为当前元素,一般用this代表当前元素

例如,有以下代码

<ul>
<li>张三</li>
<li>李四</li>
<li>王五</li>
</ul>


如果要获取列表中第2个元素中的文本内容,可以使用each()方法处理 

$('li').each(function(index){
    if(index==1){
        console.log($(this).text());//获取当前元素的内容
    }
})

遍历节点案例:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
    <title>实现简单的留言板</title>
    <style type="text/css">
    	ul li{width: 60px; height: 100px; background: green;list-style-type: none;float: left;margin-left: 10px;
    }</style>
    <script src="jquery-1.12.4.js"></script>
	<script type="text/javascript">
	$(function(){
		$('ul li').each(function(index,element){
			$(element).css('opacity',(index + 1) / 10);
		});
		
	});
</script>
</head>
<body>
	<ul id="uu">
		<li>1</li>
		<li>2</li>
		<li>3<li>
		<li>4</li>
		<li>5</li>
		<li>6</li>
		<li>7</li>
	</ul>
</body>
</html>

5.6-链式编程

$('img').css('background','red').attr('alt','这是一张图片');               //设置img的背景为红色且alt属性为:这是一张照片

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值