DOM操作 练习题

作者: liufeisheng

创建时间: 2024-04-16 02:22:20


(1)创建一个HTML页面,其中包含一个有id为“content”的div元素。使用JavaScript编写一个函数,当调用时,能够修改这个div的背景颜色。

image.png

<!-- 创建一个HTML页面,其中包含一个有id为“content”的div元素。
    使用JavaScript编写一个函数,当调用时,能够修改这个div的背景颜色。 -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>修改背景颜色</title>
    <style>
        div{
            background: #8b7070;
            width: 100px;
            height: 100px;
            border: 1px black solid ;
        }
    </style>
</head>
<body>
    <div id="content"></div>
    <input type="button" value="修改背景颜色">
</body>
</html>

image.png

分析:属于元素操作的改变元素样式知识点

核心代码如下:

function changeBackgroundColor() {
  var contentDiv = document.getElementById("content");
  contentDiv.style.backgroundColor = "lightblue"; // 你可以选择任何你喜欢的颜色
}

image.png

进阶:更改随机背景颜色

<div id="content"></div>
    <input type="button" value="更改背景颜色" onclick="changeBG()">
    <script>
        function changeBG(){
            var rgbs = ["red","blue","lightblue","white","black"]
            var i = Math.floor(Math.random()*rgbs.length);
            document.getElementById("content").style.background = rgbs[i];
        }
    </script>

(2)给定一个有多个子元素的无序列表ul,列表项li包含各种文本内容。使用JavaScript编写代码,当鼠标悬停在任何列表项上时,会显示一个警告框,内容是该列表项的文本。

image.png

var listItems = document.querySelectorAll("ul li");
listItems.forEach(function(item) {
  item.addEventListener("mouseover", function() {
    alert(item.textContent);
  });
});

(3)假设有一个按钮,其id为“toggleButton”,编写一个JavaScript函数,每当用户点击这个按钮时,就会隐藏或显示页面上id为“secret” 的元素。

function toggleElement() {
  var secretElement = document.getElementById("secret");
  if (secretElement.style.display === "none") {
    secretElement.style.display = "block";
  } else {
    secretElement.style.display = "none";
  }
}

// 需要在HTML中给按钮添加点击事件
// <button id="toggleButton" onclick="toggleElement()">Toggle</button>

(4)编写JavaScript代码,监听页面上所有输入框(input type="text")的输入事件,一旦用户在任何一个输入框中输入文字,就在控制台中打印出来。

image.png

var textInputs = document.querySelectorAll('input[type="text"]');
textInputs.forEach(function(input) {
  input.addEventListener("input", function() {
    console.log(input.value);
  });
});

(5)创建一个表单,其中包含几个输入字段和一个提交按钮。使用DOM操作,在用户提交表单前,验证所有输入字段是否已填写,并阻止表单的提交如果有任何字段为空。

document.getElementById("myForm").addEventListener("submit", function(event) {
  var inputs = document.querySelectorAll("#myForm input[type='text']");
  for (var i = 0; i < inputs.length; i++) {
    if (!inputs[i].value.trim()) {
      alert("请填写所有输入字段。");
      event.preventDefault(); // 阻止表单提交
      return;
    }
  }
  // 所有字段都已填写,表单将正常提交
});

(6)创建一个HTML页面,包含若干图片和一个按钮。编写JavaScript代码,当点击按钮时,将所有图片的宽度设置为200像素,高度按比例缩放。

function resizeImages() {
  var images = document.getElementsByTagName("img");
  for (var i = 0; i < images.length; i++) {
    images[i].style.width = "200px";
    images[i].style.height = "auto";
  }
}

// 在HTML中添加按钮点击事件
// <button onclick="resizeImages()">Resize Images</button>