Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เพิ่มกฎ CSS ใหม่ขณะทำงานกับ JavaScript

ใช้ insertRule() ร่วมกับ sheet เพื่อเพิ่มกฎ CSS แบบไดนามิก

ตัวอย่างโค้ด

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
  <div id="demo">
    This is a JavaScript program
  </div>
</body>
<script>
  var creatingStyle = document.createElement("style");
  document.head.appendChild(creatingStyle);
  creatingStyle.sheet.insertRule(`#demo{ background-color: red; }`);
</script>
</html>

บันทึกเป็น index.html เปิดด้วย Live Server

ผลลัพธ์

พื้นหลังของ div #demo จะกลายเป็นสีแดง

เพิ่มกฎ CSS ใหม่ขณะทำงานกับ JavaScript

คำอธิบาย: สร้างแท็ก <style> เพิ่มเข้า <head> แล้วใช้ sheet.insertRule() เพิ่มกฎ CSS โดยใช้ template literal สำหรับ selector และ properties