1.getElementById方法
Document.getElementById(ElementId)
通过标签的id属性查找标签dom对象,elementId是标签的id属性值。
例子:用户名必须有数字,字母,下划线组成;并且长度是5-12位。
如何验证字符串是否符合某个规则,需要使用正则表达式。test()方法用于测试某个字符串,是不是匹配规则,匹配就返回true,不匹配就返回false。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function onClickFun(){
var obj=document.getElementById("username");
var usernameText=obj.value;
var patt=/^\w{5,12}$/;
if(patt.test(usernameText)){
alert("用户名合法!")
}else{
alert("用户名不合法!")
}
}
</script>
</head>
<body>
用户名:<input type="text" value="请输入用户名" id="username">
<button onclick="onClickFun();">注册</button>
</body>
</html>
2. getElementsByName
document.getElementsByName是根据指定的name属性查询返回多个标签对象集合,集合中每个元素都是dom对象,这个集合中的元素顺序是他们在html页面上从上到下的顺序;
checked表示复选框的选中状态,如果选中是true,不选中是false,这个属性可读可写。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function checkAll(){
var hobbies=document.getElementsByName("hobby");
for(var i=0;i<hobbies.length;i++){
hobbies[i].checked=true;
}
}
function checkNo(){
var hobbies=document.getElementsByName("hobby");
for(var i=0;i<hobbies.length;i++){
hobbies[i].checked=false;
}
}
function checkReverse(){
var hobbies=document.getElementsByName("hobby");
for(var i=0;i<hobbies.length;i++){
hobbies[i].checked=!hobbies[i].checked;
}
}
</script>
</head>
<body>
兴趣爱好:
<input type="checkbox" value="java" name="hobby" checked="checked">Java
<input type="checkbox" value="cpp" name="hobby" >C++
<input type="checkbox" value="js" name="hobby" >JavaScript
<br>
<button onclick="checkAll()">全选</button>
<button onclick="checkNo()">全不选</button>
<button onclick="checkReverse()">反选</button>
</body>
</html>
3.getElementsByTagName
document.getElementsByTagName是按照指定标签名来进行查询并返回集合,集合中都是dom对象,集合中元素顺序是他们在html页面中从上到下的顺序。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function checkAll(){
var hobbies=document.getElementsByTagName("input");
for(var i=0;i<hobbies.length;i++){
hobbies[i].checked=true;
}
}
</script>
</head>
<body>
兴趣爱好:
<input type="checkbox" value="java" checked="checked">Java
<input type="checkbox" value="cpp" >C++
<input type="checkbox" value="js" >JavaScript
<br>
<button onclick="checkAll()">全选</button>
</body>
</html>
document对象的三个查询方法,如果有id属性,优先使用getElementById方法来进行查询,
如果没有id属性,则优先使用getElementsByName方法来进行查询,
如果id属性和name属性都没有最后在按标签名查getElementsByTagName。
以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。
4.createElement(tagName)方法
通过给定的标签名,创建一个标签对象,tagName是要创建的标签名。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
window.onload=function(){
var divObj=document.createElement("div");//在内存中<div></div>
//divObj.innerHTML="今天下雨了" //第一种方法
var textObj=document.createTextNode("今天下雨了");//第二种方法
divObj.appendChild(textObj);
document.body.appendChild(divObj);
}
</script>
</head>
<body>
</body>
</html>