JavaScript-14

操作DOM

DOM元素特性

  • element.attributes
    返回元素的所有特性
  • element.setAttribute(name,value)
    设置元素的指定特性
  • element.getAttribute(name)
    获取元素的指定特性
  • element.removeAttribute(name)
    删除元素的指定特性

特性和属性的区别

理论上,特性(attribute)与属性(property)是两个不同的概念,特性(attribute)是DOM元素的子节点,属性(property)是DOM元素的特性映射到JS后对应对象的属性(property)。实际使用中,可以忽略两者的区别

<input type="text" id="input" value="" />
document.getElementById('input').value='123'

无法改变DOM元素,仅改变JS映射对象的属性
执行上面的语句,输出后
在这里插入图片描述

document.getElementById('input').setAttribute("value","123")

可以改变DOM元素
执行上面的语句,输出后
在这里插入图片描述

table对象

table为DOM元素中的一个特别对象,拥有一系列独有的属性和方法

下面是table对象的属性和方法:
在这里插入图片描述
tableRow对象的属性和方法:
在这里插入图片描述
tableCell对象的属性和方法:
在这里插入图片描述

创建DOM对象

  • document.createElement(TagName)
    创建一个元素节点
  • document.createTextNode(文本内容)
    创建一个文本节点
  • element.appendChild(子节点)
    向父元素末尾添加子节点
    在这里插入图片描述
var ul = document.createElement('ul')	
var li = document.createElement('li')	
var text = document.createTextNode('苹果')
ul.appendChild(li)
li.appendChild(text)
document.body.appendChild(ul)

修改DOM对象

  • element.removeChild(子节点)
    删除一个子节点
  • element.replaceChild(新节点,旧节点)
    替换一个子节点
  • element.insertBefore(新节点, 已有节点)
    在已有的子节点前插入一个新的子节点

练习

使用JS创建table

var data = [{
				name: '张三',
				score: 95
			}, {
				name: '李四',
				score: 90
			}, {
				name: '王五',
				score: 98
			}, {
				name: '赵六',
				score: 88
			}]

代码如下:

var table = document.createElement('table')	
table.border=1
table.cellSpacing=0
for(var i in data) {
	var tr = document.createElement('tr')
	for(var key in data[i]){
		var td = document.createElement('td')
		var text = document.createTextNode(data[i][key])
		td.appendChild(text)
		tr.appendChild(td)
	}
	table.appendChild(tr)
}document.body.appendChild(table)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值