JavaScript DOM 元素属性 状态属性
版权声明:未经允许,严禁转载!
元素的属性
核心 DOM 为我们提供了操作元素标准属性的统一 API。
所有属性节点都储存在元素的 attributes 集合中。
获取元素的所有属性节点:elem . attributes
获取某个属性节点的属性名:elem . attributes[i] . nodeName
获取某个属性节点的属性值:elem . attributes[i] . nodeValue
代码案例
<a href="http://www.baidu.com"
target="_blank" title="百度" id="a1" class="link1">百度</a> <script>
// 核心DOM
var a1 = document.getElementById("a1")
// console.log(a1)
console.log(a1.attributes); // 返回属性节点集合
console.log(a1.attributes[1]); // 返回某个属性节点
console.log(a1.attributes[1].nodeName) // 获得属性名
console.log(a1.attributes[1].nodeValue) // 获得属性值
console.log(a1.attributes[1].value) // 获得属性值
a1.attributes[1].nodeValue="_self" // 修改属性值
</script>
修改属性值
核心 DOM 还为我们提供了直接访问和修改属性值得 API。
获得属性值:elem.getAttribute("属性名")
修改属性值:elem.setAttribute("属性名","值")
判断是否包含某个属性,返回布尔值:elem.hasAttribute("属性名")
移除属性:elem.removeAttribute("属性名")
案例代码
<a href="http://www.baidu.com"
target="_blank" title="百度" id="a1" class="link1">百度</a> <script>
// 核心DOM
var a1 = document.getElementById("a1")
// console.log(a1)
console.log(a1.attributes); // 返回属性节点集合
console.log(a1.attributes[1]); // 返回某个属性节点
console.log(a1.attributes[1].nodeName) // 获得属性名
console.log(a1.attributes[1].nodeValue) // 获得属性值
console.log(a1.attributes[1].value) // 获得属性值
a1.attributes[1].nodeValue="_self" console.log(a1.getAttribute("title")) // 获取属性
a1.setAttribute("title","百度一下") // 修改属性
console.log(a1.hasAttribute("id")) //判断是否有某一属性
a1.removeAttribute("target") // 移除某一属性
console.log(a1.attributes); // 返回属性节点集合
</script>
HTML DOM 提供了更加简化的操作属性 API
使用 HTML DOM 访问节点对象的属性。可以用 . 直接访问。
获取属性值:elem . 属性名
修改属性值:elem . 属性名 = 值
判断是否包含某个属性:elem . 属性名 == ""
移除属性:elem . 属性名 = ""
特殊:class 是 ES 标准中的保留字,使用 HTML DOM 访问时要使用 className
案例代码
结束!今天就到这里吧,累了,休息一下
状态属性
checked 案例代码
<input type="checkbox" id="check" checked>同意 <br>
<button id="btn" type="button">我是按钮</button>
<br>
<select name="" id="sel">
<option value="北京">北京</option>
<option value="天津">天津</option>
<option value="上海">上海</option>
</select> <script>
// // 状态属性 checked disabled selected
// // 返回 boolean值
var check = document.getElementById("check");
// // 核心 DOM 无法正确获取状态属性
// // 判断复选框是否被选中
// console.log(check.hasAttribute("checked"));
// check.onclick = function () {
// console.log(check.hasAttribute("checked"));
// }
// // 使用 HTML DOM
console.log(check.checked) // true
check.checked = false; // 修改
check.onclick = function () {
console.log(check.checked)
} </script>
disabled selected 案例代码
<input type="checkbox" id="check" checked>同意 <br>
<button id="btn" type="button" disabled>我是按钮</button>
<br>
<select name="" id="sel">
<option value="北京">北京</option>
<option value="天津" selected>天津</option>
<option value="上海">上海</option>
</select> <script>
// // 状态属性 checked disabled selected
// // 返回 boolean值
var check = document.getElementById("check");
// // 核心 DOM 无法正确获取状态属性
// // 判断复选框是否被选中
// console.log(check.hasAttribute("checked"));
// check.onclick = function () {
// console.log(check.hasAttribute("checked"));
// }
// // // 使用 HTML DOM
// console.log(check.checked) // true
// check.checked = false; // 修改
// check.onclick = function () {
// console.log(check.checked)
// } var btn = document.getElementById("btn");
console.log(btn.disabled) // true表示不可用,false 表示可用 var sel = document.getElementById("sel");
console.log(btn.disabled) // true表示不可用,false 表示可用 // 修改上海默认选中
sel.querySelectorAll("option")[2].selected = true;
// 获取当前用户选中哪一个
console.log(sel.value) </script>
好,结束了