博客列表 >Jq遍历html元素、获取及设置CSS类、获取及设置内容、模拟加入购物车效果-2019年4月2日

Jq遍历html元素、获取及设置CSS类、获取及设置内容、模拟加入购物车效果-2019年4月2日

蛋糕356的博客
蛋糕356的博客原创
2019年04月07日 23:40:111026浏览

一、Jq遍历html元素|

实例

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Jq遍历html元素</title>
	<style type="text/css">
		.box{
			border:1px solid #ccc;
			width: 500px;
			height: 500px;
			margin:50px auto;
		}
		div,ul,li,a,span,p,h1{
			border:1px solid red;
		}
		li{
			list-style: none;
			height: 100px;
		}
	</style>
	<script type="text/javascript" src="static/jquery-3.3.1.min.js"></script>
</head>
<body>
	<div class="box">外层
		<ul>
			<li>
				<a href="">
					中文网<span>你好!</span>
				</a>
			</li>
		</ul>
	</div>
	<p>
		1
	</p>
	<br>
	<h1>234</h1>
	<script>
		//jQuery遍历(用一种相对的关系来查找html元素)
		$(function(){
			//向上查找元素(祖先元素)
			//parent() 方法返回被选元素的直接父元素
			//$('span').parent().css('fontSize','30px');
			//parents() 方法返回被选元素的所有祖先元素;
			//$('span').parents().css('fontSize','60px');
			// parents() 方法会使用可选参数来过滤对祖先元素的搜索
			//$('a').parents('div').css('color','red');

			//向下查找元素(子孙元素)
			//children() 方法返回被选元素的所有直接子元素
			//$('ul').children().css('fontSize','30px');
			//children()方法会使用可选参数来过滤对祖先元素的搜索
			//$('li').children('a').css('color','red'); 

			//find() 方法返回被选元素的后代元素 
			//$('.box').find('span').css('background','blue');
			//同级查找(同胞)
			//siblings() 方法返回被选元素的所有同胞元素
			//$('div').siblings().css('background','red')
			// siblings() 方法过滤
			$('div').siblings('p').css('background','red')

		})
	</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

二、jQuery获取并设置CSS 类

css()设置或返回样式属性;

$('.centent').click(function(){
   $('.centent').css('background','pink');//设置并返回样式
   $('.centent').css({'line-height':'500px','border-radius':'50%'});//设置多个CSS样式属性
   $('.centent').addClass('text1');//使用addClass()添加类,注意不要有点号
  })
 //删除css类
   $('.centent').click(function(){
    $('.centent').remove('text1');//remove()删除类,注意不要有点号
   })

   //通过判断CSS样式类是否存在,不存在则添加类,存在则删除类
   //hasClass()检查被选元素是否包含指定的class
   $('.centent').click(function(){
    if($(this).hasClass('text')){
     $(this).removeClass('text');
    }else{
     $(this).addClass('text');
    }
   })

三、设置及获取内容

//text()设置或返回所选元素的文本内容;
   // $('.centent').mouseover(function(){
   //  $('.centent').text('好好学习天天向上!');
   // })
   //html()设置或返回所选元素的内容(包括 HTML 标记);
   //console.log($('.centent').html())
   // val()设置或返回表单字段的值;
   $('input').click(function(){
    $('input').val('请输入.....');
   })

四、案例完整代码如下

实例

<!DOCTYPE html>
<html>
<head>
	<title>jQuery获取并设置CSS 类/获取及设置内容</title>
	<style type="text/css">
		.centent{
			width: 500px;
			height: 500px;
			border-radius: 50%;
			background-color: pink;
			/*box-shadow: 1px 3px 20px #ccc;*/
			margin: 0 auto;
			line-height: 500px;
			text-align: center;
			
		}
		.text{
			font-size: 50px;
			box-shadow:1px 3px 20px #ccc;
			text-shadow: 2px 4px 20px #ccc;
		}

		.p,input{
			width: 600px;
			height: 30px;
			border-radius: 20px;
			margin: 10px auto;

		}
	</style>
	<script type="text/javascript" src="static/jquery-3.3.1.min.js"></script>
</head>
<body>
	<div class="centent">欢迎光临</div>
	<div class="p"><form><input type="text" name="" value="你好"></form></div>
	<script>
		$(function(){
	//设置并获取CSS类
	//css()设置或返回样式属性; 
			$('.centent').click(function(){
			$('.centent').css('background','pink');//设置并返回样式
			$('.centent').css({'line-height':'500px','border-radius':'50%'});//设置多个CSS样式属性
			$('.centent').addClass('text1');//使用addClass()添加类,注意不要有点号
		})
	//删除css类
			$('.centent').click(function(){
				$('.centent').remove('text1');//remove()删除类,注意不要有点号
			})

			//通过判断CSS样式类是否存在,不存在则添加类,存在则删除类
			//hasClass()检查被选元素是否包含指定的class
			$('.centent').click(function(){
				if($(this).hasClass('text')){
					$(this).removeClass('text');
				}else{
					$(this).addClass('text');
				}
			})

	//设置及获取内容
	//text()设置或返回所选元素的文本内容;
			// $('.centent').mouseover(function(){
			// 	$('.centent').text('好好学习天天向上!');
			// })
			//html()设置或返回所选元素的内容(包括 HTML 标记);
			//console.log($('.centent').html())
			// val()设置或返回表单字段的值;
			$('input').click(function(){
				$('input').val('请输入.....');
			})
			
		})
	</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

 五、模拟添加购物车案例

实例

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>jq模拟加入购物车</title>
	<style type="text/css">
		div{
			width: 500px;
			height: 500px;
			border:1px solid red;
			border-radius: 3px;
			margin: 0 auto;
			font-size: 13px;
		}
		.head{
			height: 40px;
			background: red;
			font-size: 18px;
			color: #fff;
			line-height: 40px;
			text-align: center;
			margin-top: 0px;
		}
		b{
			
			display: inline-block;
			width: 80px;
			height: 25px;
			margin-left: 30px;
		}
		span,input,button{
			border:1px solid #ccc;
			width: 100px;
			height: 25px;
			display: inline-block;
			margin: 2px;
			line-height: 25px;
			text-align: center;
		}
		span:hover{
			cursor: pointer;
		}

		input{
			height: 18px;
		}
		button{
			background: red;
			margin: 20px 110px;
			border: 0px;
			height: 30px;

		}
		button:hover{
			cursor: pointer;
		}
		.border{/*被选择后出现的样式*/
			border:2px solid red;

		}
	</style>
	<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
	<div>
		<p class="head">请选择信息后加入购物车</p>
		<p class="item" name="vison"><b>版本</b><span>ONE A2001</span><span>ONE A0001</span><span>ONE A1001</span></p>
		<p class="item" name="color"><b>机身颜色</b><span>白色</span><span>黑色</span><span>金色</span></p>
		<p class="item" name="taocan"><b>套餐类型</b><span>标配</span><span>套餐一</span><span>套餐二</span></p>
		<p class="item" name="rom"><b>运行内存</b><span>2GB</span><span>3GB</span><span>4GB</span></p>
		<p class="item" name="ram"><b>机身内存</b><span>16GB</span><span>32GB</span><span>64GB</span></p>
		<p class="item" name="from"><b>产地</b><span>中国大陆</span><span>港澳台</span></p>
		<p class="item" name="point"><b>价格</b><span>格999元抢购</span></p>
		<p class="item1" name="num"><b>数量</b><input type="number" value="1"></p>
		<p><button id="sub">加入购物车</button></p>
	</div>
	<script>
		$(function(){
			$('span').click(function(){
				if($(this).hasClass('border')){
					$(this).removeClass('border');
				}else{
					//没有就添加上border的class名,同时匹配同级span,清除同级其他span中的选中样式
					$(this).addClass('border').siblings('span').removeClass('border');
				}
			})

			$('#sub').click(function(){
				var form={};//创建一个空的对象,用于储存数据;
				var flag=true;//判断能不能加入购物车
				//判断是否每个选项都选中; 没选中则弹窗警告; 选中了则添加至需要发送的表单数据里面
				$('.item').each(function(){//each() 方法规定为每个匹配的.item元素都运行这个function函数

				if($(this).children('span.border').length !=1){//判断span标签下并且选择样式为.border的标签
					flag=false;
					}else{
					var key=$(this).attr('name');//获取当前p标签的 name属性值 不同的p属性名不一样
					var value=$(this).children('span.border').html();
					form[key]=value;
					}

				})
			//判断购物车数量是否大于0,大于0则添加,不大于0则不能提交
				if($('.item1 input').val()<=0){

					flag=false;
				}else{
					form['num']=$('item1 input').val();
					console.log(form);
				}
				if(flag){
					alert('添加购物车成功');
				}
			})
		})
	</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

 

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议