其他分享
首页 > 其他分享> > JS DOM HTML

JS DOM HTML

作者:互联网

声明

该文部分代码和内容节选自菜鸟教程,仅用作个人学习,特此声明

链接https://www.runoob.com/

DOM HTML

1、查找 HTML 元素

通常,需要通过 JavaScript操作 HTML 元素。首先需要找到该元素。有三种方法查找HTML元素:

  • 通过 id 找到 HTML 元素(ById)

    • 本例查找 id="intro" 元素:

      var x = document.getElementById("id");
      

      如果找到该元素,则该方法将以对象(在 x 中)的形式返回该元素。

      如果未找到该元素,则 x 将包含 null

  • 通过标签名找到 HTML 元素(ByTagName)

    • 本例查找 id="main" 的元素,然后查找 id="main" 元素中的所有 < p > 元素:

      var x = document.getElementById("main");
      var y = x.getElementsByTagName("p");
      
  • 通过类名找到 HTML 元素(ByClassName)

    • 本例通过 getElementsByClassName 函数来查找 class="intro" 的元素:

      <p class="intro">hello world</p>
      var x=document.getElementsByClassName("intro");
      

了解更多关于 HTML DOM getElementsByClassName() 方法的内容,参考以下文章

HTML DOM getElementsByClassName() 方法 | 菜鸟教程 (runoob.com)


补充知识

getElementsByTagName 和 getElementsByClassName 这两个方法查找多个 dom 元素,返回的是 htmlcollection 类型,是伪数组而不是真数组,故不能使用数组的方法。

我们可以使用数组原型配合 slice 方法,利用 call,apply,bind 方法将伪数组转为真数组

var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
console.log(y)//在控制台我们可以看到原型proto为htmlcollection,是伪数组
//伪数组转为真数组方法1
console.log(Array.prototype.slice.call(y))//在控制台我们可以看到原型proto为Array(0),是真数组

//伪数组转为真数组方法2
console.log(Array.prototype.slice.apply(y))//在控制台我们可以看到原型proto为Array(0),是真数组

//伪数组转为真数组方法3
console.log(Array.prototype.slice.bind(y)())//在控制台我们可以看到原型proto为Array(0),是真数组

2、改变 HTML 元素

HTML DOM 允许 JavaScript 改变 HTML 元素的内容。其中,改变HTML输出流使用document.write,改变HTML内容用document.getElementById("id").innerHTML;之前已经用过一万遍了,这里不多赘述

下面首先来介绍一下如何改变HTML属性

如果需要改变 HTML 属性,使用的语法如下:

document.getElementById("id").attribute = "新属性值"

我们举个简单的例子,改变 img 标签的 src 属性(改变图片路径达到替换图片的目的)

<img id="image" src="xxxxxx">
    
<script>
document.getElementById("image").src = "yyyyyy";
</script>

在上面的这个例子中,我们做了这些事情

标签:DOM,元素,JS,getElementById,HTML,数组,document,id
来源: https://www.cnblogs.com/xypersonal/p/16225867.html