DOM元素节点操作属性

设置节点的属性

我们可以获取节点的属性值、设置节点的属性值、删除节点的属性。

获取节点的属性值

方式1和方式2的区别在于,前者是元素对象直接操作标签,后者是用元素对象的方法获取

方式1

	元素节点.属性名;
	元素节点[属性名];

方式2

	元素节点.getAttribute("属性名称");

代码示例:

<button type="submit" value="HTML" class="one">HTML</button>

<script type="text/javascript">
    var btn = document.getElementsByTagName("button")[0];

    console.log(btn.value);
    console.log(btn.className);    //注意,是className,不是class

    console.log(btn["value"]);
    console.log(btn.getAttribute("class")); //注意,是class,不是className
</script>

修改节点的属性值

方式1举例:(设置节点的属性值)

	btn.value = '按钮';

方式2:

	元素节点.setAttribute("属性名", "新的属性值");
	btn.setAttribute('value', '点击');

删除节点的属性

格式:

	元素节点.removeAttribute(属性名);

举例:(删除节点的属性)

    btn.removeAttribute("class");

元素节点直接操作和用方法操作的区别

两种方式的区别

  • 如果是节点的"原始属性",如普通标签的class属性,style属性,img 标签的src属性、a 标签的href属性,两种方式无区别,可以混用
  • 如果是非原始属性方式1 的元素节点.属性和元素节点[属性],绑定的属性值不会出现在标签上
  • 如果是非原始属性方式2get/set/removeAttribut,绑定的属性值会出现在标签上
  • 这两种方式不能交换使用,get值和set值必须使用同一种方式

代码示例

<body>
<div id="box" title="主体" class="asdfasdfadsfd">我爱你中国</div>
<script>

    var div = document.getElementById("box");

    //采用方式一进行set
    div.aaaa = "1111";
    console.log(div.aaaa);    //打印结果:1111。可以打印出来,但是不会出现在标签上

    //采用方式二进行set
    div.setAttribute("bbbb","2222");    //bbbb作为新增的属性,会出现在标签上

    console.log(div.getAttribute("aaaa"));   //打印结果:null。因为方式一的set,无法采用方式二进行get。
    console.log(div.bbbb);                   //打印结果:undefined。因为方式二的set,无法采用方式一进行get。

</script>
</body>

innerHTML和innerText

获取内容:

  • innerHTML会获取元素节点中的所有内容(包括标签)
  • innerText只会获取元素节点中的文本(不包含标签)

代码示例:
在这里插入图片描述

修改内容:

  • innerHTMLinnerText都会修改元素节点中的所有内容
  • innerHTML会识别修改内容中的标签,innerText会将修改内容中的标签当做文本

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值