DOM里的一些操作属性

198 阅读2分钟

操作属性

我们获取到元素后,可以直接操作DOM的属性,然后直接把效果展示在页面

innerHTML

获取元素内部HTML结构

我们也可以直接给这个属性重新赋值,达到修改页面的效果

例:

<div id="box">
        <p>
            <span>我是一个嵌套结构</span>
        </p>
</div>
<script>
var oDiv = document.querySelector('#box')//获取到id名为box的元素

//获取元素内部HTML结构
console.log(oDiv)//打印oDiv的内容
console.log(oDiv.innerHTML)

//属性重新赋值
oDiv.innerHTML = '<p><span>我是通过js的innerHTML修改的内容</span></p>'
</script>

innerText

获取元素内部的文本(只能获取到文本,获取不到html标签)

我们也可以直接给这个属性重新赋值,达到修改页面的效果

<div id="box">
        <p>
            <span>我是一个嵌套结构</span>
        </p>
</div>
<script>
    console.log(oDiv.innerText)//打印内容为  我是一个嵌套结构
    
    //属性重新赋值(只能修改文本内容)
    oDiv.innerText = '<p><span>我是通过js的innerText设置的</span></p>' </script>

h5自定义属性

data-

表示是一个自定义属性,后面的才是属性名

= 后是属性值

<div data-a="100"></div>

其中 data- 表示为自定义属性 后面的 a 才是这个元素的属性名

每一个 元素/DOM节点 天生自带一个属性,叫做dataset,是一个类似对象的数据结构

访问元素的dataset属性

查询

语法

元素.dataset.属性名


var a = document.querySelector('div')

console.log(a.dataset.a) //查询元素a里属性a的属性值

增加h5自定义属性

语法

元素.dataset.新增属性名 = 属性值

var a = document.querySelector('div')

a.dataset.b = 12306 //在元素a里新增一个属性b并赋值为12306

删除一个h5自定义属性

语法

delete 元素.dataset.删除的属性名

var a = document.querySelector('div')
delete a.dataset.a  //删除元素a中的属性a

修改h5自定义属性

语法

元素.dataset.修改属性名 = 修改的属性值

var a = document.querySelector('div')
a.dataset.a = 'qf001' //把元素a里属性a的属性值修改为qf001

获取元素的某些属性

语法

元素.getAttribute('要查询的属性名')

返回值:查询到属性是返回对应的属性值,没有查询到返回null

<div class="box"></div>

<script>

var a = document.querySelector('.box')

console.log(a.getAttribute('a'))//查询class名为box元素的a属性的属性值

console.log(a.getAttribute('b'))//因为元素a里没有b属性所以返回null

</script>

修改元素的某些属性

语法

元素.setAttribute('想要修改的属性名','修改的的属性值')

注意:如果元素没有对应的属性名,相当于新增一个属性

<div class="box"></div>

<script>

var a = document.querySelector('.box')

a.setAttribute('a','1234')//修改元素a里的a属性的属性值为1234

a.setAttribute('b','0000')//因为元素a中没有属性b所以相当于在元素a中新增一个属性b并赋值

</script>

删除元素的某些属性

语法

元素.removeAttribute('要删除的属性名')

<div class="box"></div>

<script>

var a = document.querySelector('.box')

a.removeAttribute('a')//删除元素a中的属性a  

</script>