欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript学习笔记——DOM属性

程序员文章站 2024-03-22 09:41:16
...
		<img 
        src="https://img-blog.csdnimg.cn/20200905163335124.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L05vem9taTA2MDk=,size_16,color_FFFFFF,t_70#pic_center" class="image-box" 
        title="美女图片" 
        alt="地铁一瞥" 
        id="a1">

以下举例均采用上述标签

获取节点的属性值

方式1

    元素节点.属性名;
    元素节点[属性名];
		var imgNode = document.getElementsByTagName("img")[0];
            
        console.log(imgNode.src);
        console.log(imgNode.className);//注意是className,不是class
        console.log(imgNode.title);

        console.log("------------");

        console.log(imgNode["src"]);
        console.log(imgNode["className"]); //注意,是className,不是class
        console.log(imgNode["title"]);

JavaScript学习笔记——DOM属性

方式二

    元素节点.getAttribute("属性名称");
		var imgNode = document.getElementsByTagName("img")[0];
		console.log(imgNode.getAttribute("src"));
		console.log(imgNode.getAttribute("class")); //注意是class,不是className
		console.log(imgNode.getAttribute("title"));
		//输出结果与上图类似

区别

方式1和方式2的区别在于:

前者是直接操作标签,后者是把标签作为DOM节点,推荐方法二

设置节点的属性值

方式1

    imgNode.src = "https://img-blog.csdnimg.cn/20200907111034735.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L05vem9taTA2MDk=,size_16,color_FFFFFF,t_70#pic_center"   //修改src的属性值
    imgNode.className = "image2-box";  //修改class的name

JavaScript学习笔记——DOM属性

方式二

	元素节点.setAttribute(属性名, 新的属性值);
	imgNode.setAttribute("src","https://img-blog.csdnimg.cn/20200907111034735.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L05vem9taTA2MDk=,size_16,color_FFFFFF,t_70#pic_center"); //修改src的属性值

	imgNode.setAttribute("class","image3-box");

JavaScript学习笔记——DOM属性

删除节点的属性

    元素节点.removeAttribute(属性名);
    imgNode.removeAttribute("class");
    imgNode.removeAttribute("id");

总结:

获取节点的属性值和设置节点的属性值,都有两种方式,但这两种方式是有区别的

  • 方式一的元素节点.属性和元素节点[属性]:绑定的属性值不会出现在标签上
  • 方式二的get/set/removeAttribut: 绑定的属性值会出现在标签上

因为方式一操作的是属性,方式二操作的是标签本身

注意:
这两种方式不能交换使用,get值和set值必须使用用一种方法

相关标签: javascript