获取页面元素的方法。querySelector,querySelectorAll

<ul>
	<li>请选择</li>
	<li class="red">前00232323端</li>
	<li class="green">后4444端</li>
	<li class="blue">P5555HP</li>
	<li id="android">An6666droid</li>
	<li>iO8888S</li>

</ul>
<script type="text/javascript">
	// 获取第一个li标签. 但是索引不直观,都是后台动态获取,前台动态生成添加.
	window.onload = function() {
		/* var cli = document.getElementsByTagName("li")[0];
		console.log(cli); */
		// Selector选择器,传入选择器名称,如果获取的元素不止一个,那么只会返回满足条件的第一个元素
		// 参数要求:如果是类选择器,必须添加.  如果是id选择器,必须添加#, 否则当标签处理 
		var javaLi = document.querySelector(".red");
		console.log(javaLi);
		var andr = document.querySelector("#android");
		console.log(andr);
		// 查询符合条件的所有元素-- 数组.
		var all = document.querySelectorAll("li");
		console.log(all);
	}
</script>

操作元素的类样式:add,remove,toggle,contain

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>通过classlist 增加,删除,样式</title>
		<style type="text/css">
			.red {
				color: red;
			}
			.green {
				color: green;
			}
			.blue {
				color: blue;
			}
			.underline {
				text-decoration: underline;
			}
		</style>
	</head>
	<body>
		<ul>
			<li>前端1111</li>
			<li class="blue">PHP2222</li>
			<li>后端3333</li。>
			<li id="android">Android 4444</li>
		</ul>
		<input type="button" id="add" value="为第一个li添加样式" /><br>
		<input type="button" id="remove" value="为第2个li移除样式" /> <br>
		<input type="button" id="toggle" value="为第3个li切换样式" /><br>
		<input type="button" id="contain" value="判断第4个元素是否包含某样式" /><br>

		<script type="text/javascript">
			// classlist 元素所有样式的列表
			window.onload = function() {
				// add:为元素添加指定名称的样式,一次只能添加1个样式
				document.querySelector("#add").onclick = function() {
					// 当前元素的所有样式列表-数组.   
					document.querySelector("li").classList.add("red");
					document.querySelector("li").classList.add("underline");
					// document.querySelector("li").className="red underline";
					/* 获取元素之前添加的样式 */
					var result = document.querySelector("li").classList.item("0");
					console.log(result); 
				}
				// remove:为元素移除指定名称的样式(不是移除class属性,属性还在但样式没有),一次只能移除1个样式
				document.querySelector("#remove").onclick = function() {
					// 当前元素的所有样式列表-数组.   
					document.querySelector(".blue").classList.remove("blue");
				}
				// toggle:切换元素的样式.如果元素之前没有指定名称的样式就添加; 如果有,就移除
				document.querySelector("#toggle").onclick = function() {
					// 当前元素的所有样式列表-数组.   
					document.querySelectorAll("li")[2].classList.toggle("blue");
				}
				// contain: 判断元素是否包含指定名称的样式,返回true false
				document.querySelector("#contain").onclick = function() {
					// 当前元素的所有样式列表-数组.   
					var isContain = document.querySelectorAll("li")[1].classList.contains("blue");
					console.log(isContain);
				}
			}
		</script>
	</body>
</html>

 自定义属性的使用:

<!-- 定义规范 -->
<!--建议: 
 1、名称应该都使用小写,不要包含任何的大写字母
 2、名称中不要有任何特殊符号
 3、名称不要副作用数字
 规范:
 1、data-开头
 2、data-后必须至少有一个字符,多个单词使用-连接
 3、
 -->
<p data-school-name="itcast">传智播客</p>
<!-- 取值 -->
<script type="text/javascript">
	var p = window.onload=document.querySelector("p");
	// 获取自定义属性值
	// 将data-后面的单词使用驼峰命名法连接, 必须使用驼峰命名法获取值,否则可能获取不到值.
	var value = p.dataset["schoolName"]; // 对应:data-school-name
	console.log("--->" + value);
</script>

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值