HTML属性操作
使用javascript来操作一个元素的HTML属性
两种方式:
对象属性
对象方法
两种结果:
获取HTML属性
设置HTML属性
获取属性值
obj.attr
设置HTML属性值
obj.attr = "值"
属性操作(对象方法):
getAttribute()
获取某个属性的值
// obj.getAttribute("attr") 其中attr参数必须用引号引起来
等价于obj.attr
既可以获取静态html元素的属性值,也可以获取动态DOM的属性值
和obj.attr的区别:
getAttribute()可以获取自定义的属性
setAttribute()
设置某个属性的值
obj.setAttribute("attr","值")
等价于obj.attr="值"
设置自定义属性同样只能使用obj.setAttribute("attr","值")
removeAttribute()
移除某个属性
obj.removeAttribute("attr")
要移除某个属性就只能使用这种方式
大多数时候是通过移动属性结合class属性来整体控制元素的样式的
hasAttribute()
判断是否有某个属性
obj.hasAttribute('attr')
返回布尔值
严谨的做法是先判断元素是否存在某个属性,然后才能删除
01获取静态html的属性值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
// 要获取属性,先要找到元素节点
var oBtn = document.getElementById('btn');
oBtn.onclick=function(){
alert(oBtn.id);
console.log(oBtn.className);
}
}
</script>
</head>
<body>
<input type="button" id='btn' class='mybtn' value='获取' />
</body>
</html>
02获取动态DOM的属性值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
//动态创建一个DOM,然后获取其属性
window.onload=function(){
var oInput = document.createElement('input');
oInput.id = 'submit';
oInput.type = 'button';
oInput.value = '提交';
document.body.appendChild(oInput);
oInput.onclick=function(){
alert(oInput.id)
}
}
</script>
</head>
<body>
</body>
</html>
03获取文本框的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var oBtn=document.getElementById('btn');
oBtn.onclick=function(){
var oTxt=document.getElementById('txt');
alert(oTxt.value);
};
}
</script>
</head>
<body>
<input type="text" name="" id="txt" />
<input type="button" id='btn' value = '获取' />
</body>
</html>
04获取单选框的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var oBtn = document.getElementById('btn');
console.log(oBtn.type);
var oFruit=document.getElementsByName('fruit');
console.log(oFruit[0].value);
oBtn.onclick=function(){
//遍历所有单选框
for (var i;i<oFruit.length;i++){
if (oFruit[i].checked){
alert(oFruit[i].value)
}
}
}
}
</script>
</head>
<body>
<div class="">
<label><input type="radio" name="fruit" id="" value="苹果" />苹果</label>
<label><input type="radio" name="fruit" id="" value="香蕉" />香蕉</label>
<label><input type="radio" name="fruit" id="" value="桃子" />桃子</label>
<label><input type="radio" name="fruit" id="" value="樱桃" checked />樱桃</label>
</div>
<input type="button" name="" id="btn" value="获取" />
</body>
</html>
05获取复选框的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var oBtn=document.getElementById("btn");
var oFruit = document.getElementsByName('fruit');
var str = "";
oBtn.onclick=function(){
for (var i=0;i<oFruit.length;i++){
if (oFruit[i].checked){
str+=oFruit[i].value;
}
}
alert(str);
};
}
</script>
</head>
<body>
<div >
<label><input type="checkbox" name="fruit" id="" value="苹果" />苹果</label>
<label><input type="checkbox" name="fruit" id="" value="香蕉" />香蕉</label>
<label><input type="checkbox" name="fruit" id="" value="西瓜" />西瓜</label>
<div id="">
<input id = 'btn' type="button" value="获取"/>
</div>
</div>
</body>
</html>
06获取下拉菜单的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var oBtn=document.getElementById("btn");
var oSelect = document.getElementById("select");
oBtn.onclick=function(){
alert(oSelect.value);
};
}
</script>
</head>
<body>
<select id="select">
<option value="成都">成都</option>
<option value="康定">康定</option>
<option value="南充">南充</option>
<option value="遂宁">遂宁</option>
</select>
<input type="button" name="" id="btn" value="获取" />
</body>
</html>
07修改图片属性(图片切换的效果)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var oBtn=document.getElementById('btn');
var oPic=document.getElementById('pic');
var flag = true;
oBtn.onclick=function(){
if (flag){
oPic.src='image/html.jpg';
flag=false;
}else{
oPic.src='image/js.jpg';
flag=true;
}
};
}
</script>
</head>
<body>
<input type="button" name="" id="btn" value="切换" />
<img src="image/html.jpg" id='pic'>
</body>
</html>
08获取自定义属性值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var oBtn=document.getElementById('btn');
oBtn.onclick=function(){
// alert(oBtn.data) 得到的值是"undefined"
// 因为data属性是自定义的,不是元素固有的,所以只能使用getAttribute()方法获取
alert(oBtn.getAttribute("data"))
}
}
</script>
</head>
<body>
<input type="button" name="" id="btn" value="获取" data="javascript"/>
</body>
</html>
09移除属性方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
.main{
color:red;
font-weight: bold;
}
</style>
<script type="text/javascript">
window.onload=function(){
var oP=document.getElementsByTagName('p');
var oBtnAdd=document.getElementById('btn_add');
var oBtnRemove=document.getElementById('btn_remove');
// 添加class属性
oBtnAdd.onclick=function(){
oP[0].setAttribute('class','main');
};
oBtnRemove.onclick=function(){
oP[0].removeAttribute('class');
}
}
</script>
</head>
<body>
<p class="main">我自横刀向天笑</p>
<p class="main">去留肝胆两昆仑</p>
<p class="main">躲进小楼成一统</p>
<input type="button" name="" id="btn_add" value="添加" />
<input type="button" name="" id="btn_remove" value="移除" />
</body>
</html>
从入门到入土.