diff --git a/css/advanced/Assignment-1/index.html b/css/advanced/Assignment-1/index.html
new file mode 100644
index 00000000..e69de29b
diff --git a/css/advanced/Assignment-1/style.css b/css/advanced/Assignment-1/style.css
new file mode 100644
index 00000000..3e7719f6
--- /dev/null
+++ b/css/advanced/Assignment-1/style.css
@@ -0,0 +1,69 @@
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+body {
+ font-family: Arial, sans-serif;
+ line-height: 1.6;
+}
+
+header {
+ background: #0d0a99;
+ color: #fff;
+ padding: 20px;
+ text-align: center;
+}
+
+nav ul {
+ list-style: none;
+ display: flex;
+ justify-content: center;
+ gap: 20px;
+ margin-top: 10px;
+}
+
+nav a {
+ color: #fff;
+ text-decoration: none;
+}
+
+main {
+ display: flex;
+ padding: 20px;
+ gap: 20px;
+}
+
+article {
+ flex: 3;
+ background: #2c13a8;
+ color: #fff;
+ padding: 20px;
+ border-radius: 8px;
+}
+
+aside {
+ flex: 1;
+ background: #4d119b;
+ color: #fff;
+ padding: 20px;
+ border-radius: 8px;
+}
+
+footer {
+ background: #3f12ba;
+ color: #fff;
+ text-align: center;
+ padding: 15px;
+ margin-top: 20px;
+ bottom: auto;
+}
+
+@media (max-width: 768px) {
+ main {
+ flex-direction: column;
+ flex:1;
+ }
+}
diff --git a/css/advanced/Assignment-2/animations.html b/css/advanced/Assignment-2/animations.html
new file mode 100644
index 00000000..45bcfc50
--- /dev/null
+++ b/css/advanced/Assignment-2/animations.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+ CSS Animation & Media Queries
+
+
+
+ Hello Guys..!
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-1/accessing_manipulating.html b/javascript/7-dom-manipulation/Assignment-1/accessing_manipulating.html
new file mode 100644
index 00000000..b2b16f7a
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-1/accessing_manipulating.html
@@ -0,0 +1,56 @@
+
+
+
+
+
+ DOM Manipulation - Assignment 1
+
+
+
+ Assignment 1: Accessing and Manipulating Elements
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-1/script.js b/javascript/7-dom-manipulation/Assignment-1/script.js
new file mode 100644
index 00000000..05945220
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-1/script.js
@@ -0,0 +1,41 @@
+
+function changeColorById() {
+ const ids = ["para1", "para2"];
+ let output = "";
+ ids.forEach(id => {
+ const el = document.getElementById(id);
+ const randomColor = "#" + Math.floor(Math.random() * 16777215).toString(16);
+ el.style.color = randomColor;
+ output += `Changed color of ${id} to ${randomColor}
`;
+ });
+ printResult(output);
+}
+function toggleClassColor() {
+ const elements = document.getElementsByClassName("group");
+ for (let el of elements) {
+ el.classList.toggle("highlight");
+ }
+ printResult("Toggled background color of all elements with class 'group'");
+}
+function changeSpanText() {
+ const spans = document.getElementsByTagName("span");
+ for (let i = 0; i < spans.length; i++) {
+ spans[i].innerHTML = "Updated Span " + (i + 1);
+ }
+ printResult("Updated text content of all elements.");
+}
+function toggleDisable() {
+ const inputs = document.querySelectorAll("input[name]");
+ inputs.forEach(input => {
+ input.disabled = !input.disabled;
+ });
+ printResult("Toggled 'disabled' attribute for all input elements with name attribute.");
+}
+function addCustomAttribute() {
+ const element = document.querySelector("[data-info='custom1']");
+ element.setAttribute("data-added", "newValue");
+ printResult("Added new attribute: data-added='newValue' to element with data-info='custom1'");
+}
+function printResult(message) {
+ document.getElementById("output").innerHTML = message;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-1/style.css b/javascript/7-dom-manipulation/Assignment-1/style.css
new file mode 100644
index 00000000..9ecf68fc
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-1/style.css
@@ -0,0 +1,26 @@
+body {
+ font-family: Arial, sans-serif;
+ margin: 20px;
+}
+
+table, th, td {
+ border: 1px solid black;
+ border-collapse: collapse;
+ padding: 10px;
+ text-align: center;
+}
+
+h2 {
+ color: #2a5d84;
+}
+
+.highlight {
+ background-color: lightblue;
+}
+
+#output {
+ margin-top: 20px;
+ padding: 10px;
+ border: 1px dashed #555;
+ background-color: #f5f5f5;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-10/moving_shadow_dom.html b/javascript/7-dom-manipulation/Assignment-10/moving_shadow_dom.html
new file mode 100644
index 00000000..08d635db
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-10/moving_shadow_dom.html
@@ -0,0 +1,22 @@
+
+
+
+
+ Moving Shadow DOM Elements
+
+
+
+ Moving Table Rows inside Shadow DOM
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-10/script.js b/javascript/7-dom-manipulation/Assignment-10/script.js
new file mode 100644
index 00000000..c5568006
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-10/script.js
@@ -0,0 +1,90 @@
+
+const shadowHost = document.getElementById("shadowHost");
+const shadowRoot = shadowHost.attachShadow({ mode: "open" });
+const shadowHTML = `
+
+
+
+
+ | # | Item | Actions |
+
+
+ ${Array.from({ length: 10 }, (_, i) => `
+
+ | ${i + 1} |
+ Item ${i + 1} |
+
+
+
+
+
+ |
+
+ `).join("")}
+
+
+`;
+
+shadowRoot.innerHTML = shadowHTML;
+
+const tbody = shadowRoot.querySelector("tbody");
+let selectedRow = null;
+tbody.addEventListener("click", (e) => {
+ if (e.target.closest("tr")) {
+ if (selectedRow) selectedRow.classList.remove("selected");
+ selectedRow = e.target.closest("tr");
+ selectedRow.classList.add("selected");
+ }
+});
+
+function moveUp(row) {
+ const prev = row.previousElementSibling;
+ if (prev) tbody.insertBefore(row, prev);
+}
+
+function moveDown(row) {
+ const next = row.nextElementSibling;
+ if (next) tbody.insertBefore(next, row);
+}
+
+function moveTop(row) {
+ tbody.insertBefore(row, tbody.firstElementChild);
+}
+
+function moveBottom(row) {
+ tbody.appendChild(row);
+}
+
+document.getElementById("upBtn").addEventListener("click", () => {
+ if (selectedRow) moveUp(selectedRow);
+});
+
+document.getElementById("downBtn").addEventListener("click", () => {
+ if (selectedRow) moveDown(selectedRow);
+});
+
+document.getElementById("topBtn").addEventListener("click", () => {
+ if (selectedRow) moveTop(selectedRow);
+});
+
+document.getElementById("bottomBtn").addEventListener("click", () => {
+ if (selectedRow) moveBottom(selectedRow);
+});
diff --git a/javascript/7-dom-manipulation/Assignment-10/style.css b/javascript/7-dom-manipulation/Assignment-10/style.css
new file mode 100644
index 00000000..8362d6f5
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-10/style.css
@@ -0,0 +1,29 @@
+body {
+ font-family: Arial, sans-serif;
+ text-align: center;
+ padding: 20px;
+}
+
+.controls button {
+ margin: 5px;
+ padding: 8px 12px;
+ font-size: 14px;
+ cursor: pointer;
+}
+
+table {
+ border-collapse: collapse;
+ width: 80%;
+ margin: 20px auto;
+ text-align: center;
+}
+
+td, th {
+ border: 1px solid black;
+ padding: 8px;
+}
+
+button {
+ margin: 2px;
+ padding: 4px 6px;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-2/iframedom.html b/javascript/7-dom-manipulation/Assignment-2/iframedom.html
new file mode 100644
index 00000000..e0928c80
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-2/iframedom.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Assignment 2 – iFrame DOM Manipulation
+
+
+
+ Accessing and Manipulating iFrame Elements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-2/script.js b/javascript/7-dom-manipulation/Assignment-2/script.js
new file mode 100644
index 00000000..9522b69e
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-2/script.js
@@ -0,0 +1,94 @@
+
+const innerHTMLContent = `
+
+
+
+
+ | ID |
+ ClassName |
+ Tag |
+ Name |
+ Attribute |
+
+
+ |
+ Paragraph 1
+ Paragraph 2
+ |
+
+ Group 1
+ Group 2
+ |
+
+ Tag Span 1
+ Tag Span 2
+ |
+
+
+
+ |
+
+ Custom 1
+ Custom 2
+ |
+
+
+`;
+window.onload = () => {
+ const iframe = document.getElementById("myFrame");
+ const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
+ iframeDoc.open();
+ iframeDoc.write(innerHTMLContent);
+ iframeDoc.close();
+ document.getElementById("btnId").addEventListener("click", () => changeColorById(iframeDoc));
+ document.getElementById("btnClass").addEventListener("click", () => toggleClassColor(iframeDoc));
+ document.getElementById("btnTag").addEventListener("click", () => changeSpanText(iframeDoc));
+ document.getElementById("btnName").addEventListener("click", () => toggleDisable(iframeDoc));
+ document.getElementById("btnAttr").addEventListener("click", () => addCustomAttribute(iframeDoc));
+};
+
+function changeColorById(doc) {
+ const ids = ["para1", "para2"];
+ ids.forEach(id => {
+ const el = doc.getElementById(id);
+ const randomColor = "#" + Math.floor(Math.random() * 16777215).toString(16);
+ el.style.color = randomColor;
+ });
+ printResult("Changed color of paragraphs inside iFrame.");
+}
+function toggleClassColor(doc) {
+ const elements = doc.getElementsByClassName("group");
+ for (let el of elements) {
+ el.classList.toggle("highlight");
+ }
+ printResult("Toggled background color of group paragraphs inside iFrame.");
+}
+
+function changeSpanText(doc) {
+ const spans = doc.getElementsByTagName("span");
+ for (let i = 0; i < spans.length; i++) {
+ spans[i].innerHTML = "Updated Span " + (i + 1);
+ }
+ printResult("Updated span text inside iFrame.");
+}
+
+function toggleDisable(doc) {
+ const inputs = doc.querySelectorAll("input[name]");
+ inputs.forEach(input => {
+ input.disabled = !input.disabled;
+ });
+ printResult("Toggled input disable inside iFrame.");
+}
+
+function addCustomAttribute(doc) {
+ const element = doc.querySelector("[data-info='custom1']");
+ element.setAttribute("data-added", "newValue");
+ printResult("Added new attribute inside iFrame.");
+}
+
+function printResult(message) {
+ document.getElementById("output").innerHTML = message;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-2/style.css b/javascript/7-dom-manipulation/Assignment-2/style.css
new file mode 100644
index 00000000..7944f6d8
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-2/style.css
@@ -0,0 +1,20 @@
+body {
+ font-family: Arial, sans-serif;
+ margin: 20px;
+}
+
+table, td {
+ border: 1px solid black;
+ border-collapse: collapse;
+ padding: 10px;
+}
+
+.highlight {
+ background-color: lightblue;
+}
+
+.output {
+ margin-top: 20px;
+ font-weight: bold;
+ color: darkgreen;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-3/script.js b/javascript/7-dom-manipulation/Assignment-3/script.js
new file mode 100644
index 00000000..ade77e1d
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-3/script.js
@@ -0,0 +1,60 @@
+
+const host = document.getElementById("shadow-host");
+
+const shadow = host.attachShadow({ mode: "open" });
+const shadowContent = `
+
+
+
+ | id |
+ className |
+ tag |
+ name |
+ attribute |
+
+
+ ID Para 1 ID Para 2 |
+ Class Para 1 Class Para 2 |
+ Tag Span 1Tag Span 2 |
+ |
+ Attr Para 1 Attr Para 2 |
+
+
+`;
+shadow.innerHTML = shadowContent;
+document.getElementById("byIdBtn").addEventListener("click", () => {
+ const p = shadow.getElementById("p1");
+ p.style.color = p.style.color === "red" ? "blue" : "red";
+});
+
+document.getElementById("byClassBtn").addEventListener("click", () => {
+ const elems = shadow.getElementsByClassName("same");
+ for (let el of elems) {
+ el.classList.toggle("bgToggle");
+ }
+});
+
+document.getElementById("byTagBtn").addEventListener("click", () => {
+ const spans = shadow.getElementsByTagName("span");
+ for (let span of spans) {
+ span.innerHTML = "Updated Span Text";
+ }
+});
+
+document.getElementById("byNameBtn").addEventListener("click", () => {
+ const inputs = shadow.querySelectorAll('[name="input1"], [name="input2"]');
+ for (let input of inputs) {
+ input.disabled = !input.disabled;
+ }
+});
+
+document.getElementById("byAttrBtn").addEventListener("click", () => {
+ const para = shadow.querySelector('[data-custom="val1"]');
+ para.setAttribute("data-new", "newValue");
+ alert("New attribute added: data-new='newValue'");
+});
diff --git a/javascript/7-dom-manipulation/Assignment-3/shadowdom.html b/javascript/7-dom-manipulation/Assignment-3/shadowdom.html
new file mode 100644
index 00000000..36a93a0f
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-3/shadowdom.html
@@ -0,0 +1,32 @@
+
+
+
+
+ Accessing & Manipulating Shadow DOM Elements
+
+
+
+ 3. Accessing and Manipulating Shadow DOM Elements
+
+
+
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-4/displaycount.html b/javascript/7-dom-manipulation/Assignment-4/displaycount.html
new file mode 100644
index 00000000..00234555
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-4/displaycount.html
@@ -0,0 +1,30 @@
+
+
+
+
+ Display Element Count
+
+
+
+ 4. Display Element Count
+
+ Div Element 1
+ Div Element 2
+
+ Paragraph 1
+ Paragraph 2
+ Paragraph 3
+
+ Span 1
+ Span 2
+
+
+
+
+
+ Element Count:
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-4/script.js b/javascript/7-dom-manipulation/Assignment-4/script.js
new file mode 100644
index 00000000..28d5473d
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-4/script.js
@@ -0,0 +1,15 @@
+document.getElementById("countBtn").addEventListener("click", () => {
+ const allElements = document.getElementsByTagName("*");
+ const elementCount = {};
+ for (let el of allElements) {
+ const tag = el.tagName.toLowerCase();
+ elementCount[tag] = (elementCount[tag] || 0) + 1;
+ }
+ let output = "";
+ for (let tag in elementCount) {
+ output += `- ${tag}: ${elementCount[tag]}
`;
+ }
+ output += "
";
+
+ document.getElementById("result").innerHTML = output;
+});
diff --git a/javascript/7-dom-manipulation/Assignment-4/style.css b/javascript/7-dom-manipulation/Assignment-4/style.css
new file mode 100644
index 00000000..cdbfca03
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-4/style.css
@@ -0,0 +1,31 @@
+body {
+ font-family: Arial, sans-serif;
+ padding: 20px;
+ background-color: #f5f5f5;
+}
+
+h2 {
+ color: #333;
+}
+
+button {
+ background-color: #007bff;
+ color: white;
+ border: none;
+ padding: 10px 16px;
+ border-radius: 6px;
+ cursor: pointer;
+ margin-top: 15px;
+}
+
+button:hover {
+ background-color: #0056b3;
+}
+
+#result {
+ margin-top: 15px;
+ padding: 10px;
+ background: white;
+ border-radius: 6px;
+ box-shadow: 0 0 4px rgba(0,0,0,0.2);
+}
diff --git a/javascript/7-dom-manipulation/Assignment-5/displaynested.html b/javascript/7-dom-manipulation/Assignment-5/displaynested.html
new file mode 100644
index 00000000..bd238496
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-5/displaynested.html
@@ -0,0 +1,38 @@
+
+
+
+
+ 5. Display Nested Element Count
+
+
+
+ 5. Display Nested Element Count
+
+
+
Paragraph inside div1
+
Span inside div1
+
+
Nested paragraph inside div1
+
Deeply nested span inside div1
+
+
+
+
+
Paragraph inside div2
+
+
+
+
+
Paragraph inside section1
+
Span inside section1
+
+
+
+
+
+ Nested Element Count:
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-5/script.js b/javascript/7-dom-manipulation/Assignment-5/script.js
new file mode 100644
index 00000000..3b0696cd
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-5/script.js
@@ -0,0 +1,16 @@
+document.getElementById("countBtn").addEventListener("click", () => {
+ const resultDiv = document.getElementById("result");
+ resultDiv.innerHTML = "";
+ const topLevelElements = document.body.children;
+ let output = "";
+
+ for (let elem of topLevelElements) {
+ if (elem.id === "countBtn" || elem.id === "result") continue;
+ const nestedElements = elem.getElementsByTagName("*");
+ const name = elem.id ? `#${elem.id}` : elem.tagName.toLowerCase();
+ output += `- ${name}: ${nestedElements.length} nested elements
`;
+ }
+
+ output += "
";
+ resultDiv.innerHTML = output;
+});
diff --git a/javascript/7-dom-manipulation/Assignment-5/style.css b/javascript/7-dom-manipulation/Assignment-5/style.css
new file mode 100644
index 00000000..0a0d498c
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-5/style.css
@@ -0,0 +1,38 @@
+body {
+ font-family: Arial, sans-serif;
+ padding: 20px;
+ background-color: #f2f2f2;
+}
+
+h2 {
+ color: #333;
+}
+
+div, section {
+ border: 1px solid #ccc;
+ padding: 10px;
+ margin-bottom: 15px;
+ background: white;
+ border-radius: 8px;
+}
+
+button {
+ background-color: #007bff;
+ color: white;
+ border: none;
+ padding: 10px 16px;
+ border-radius: 6px;
+ cursor: pointer;
+}
+
+button:hover {
+ background-color: #0056b3;
+}
+
+#result {
+ margin-top: 15px;
+ padding: 10px;
+ background: white;
+ border-radius: 6px;
+ box-shadow: 0 0 4px rgba(0,0,0,0.2);
+}
diff --git a/javascript/7-dom-manipulation/Assignment-6/script.js b/javascript/7-dom-manipulation/Assignment-6/script.js
new file mode 100644
index 00000000..afde22e1
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-6/script.js
@@ -0,0 +1,8 @@
+document.getElementById("updateBtn").addEventListener("click", () => {
+ const listItems = document.querySelectorAll("#myList li");
+
+ if (listItems.length >= 4) {
+ listItems[1].textContent = "Updated Item";
+ listItems[3].textContent = "Updated Item";
+ }
+});
diff --git a/javascript/7-dom-manipulation/Assignment-6/style.css b/javascript/7-dom-manipulation/Assignment-6/style.css
new file mode 100644
index 00000000..43ee2c96
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-6/style.css
@@ -0,0 +1,34 @@
+body {
+ font-family: Arial, sans-serif;
+ background-color: #f4f6f8;
+ text-align: center;
+ padding: 30px;
+}
+
+ul {
+ list-style-type: none;
+ padding: 0;
+}
+
+li {
+ background-color: white;
+ margin: 8px auto;
+ padding: 10px;
+ border-radius: 8px;
+ width: 150px;
+ transition: background-color 0.3s;
+}
+
+button {
+ padding: 10px 20px;
+ margin-top: 15px;
+ cursor: pointer;
+ border: none;
+ background-color: #007bff;
+ color: white;
+ border-radius: 6px;
+}
+
+button:hover {
+ background-color: #0056b3;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-6/update_listitems.html b/javascript/7-dom-manipulation/Assignment-6/update_listitems.html
new file mode 100644
index 00000000..c2958ff8
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-6/update_listitems.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Update List Items
+
+
+
+ Update List Items Example
+
+
+ - Item 1
+ - Item 2
+ - Item 3
+ - Item 4
+ - Item 5
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-7/script.js b/javascript/7-dom-manipulation/Assignment-7/script.js
new file mode 100644
index 00000000..ce16e939
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-7/script.js
@@ -0,0 +1,16 @@
+
+const divs = document.querySelectorAll(".color-box");
+const button = document.getElementById("toggleBtn");
+let currentIndex = 0;
+
+divs[currentIndex].style.display = "block";
+
+
+button.addEventListener("click", () => {
+
+ divs[currentIndex].style.display = "none";
+
+ currentIndex = (currentIndex + 1) % divs.length;
+
+ divs[currentIndex].style.display = "block";
+});
diff --git a/javascript/7-dom-manipulation/Assignment-7/style.css b/javascript/7-dom-manipulation/Assignment-7/style.css
new file mode 100644
index 00000000..ccd7dace
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-7/style.css
@@ -0,0 +1,35 @@
+body {
+ font-family: Arial, sans-serif;
+ text-align: center;
+ padding: 30px;
+ background-color: #f4f6f8;
+}
+
+.color-box {
+ width: 150px;
+ height: 80px;
+ margin: 10px auto;
+ border-radius: 10px;
+ line-height: 80px;
+ color: white;
+ font-weight: bold;
+ display: none; /* initially hidden */
+}
+
+.box1 { background-color: #007bff; }
+.box2 { background-color: #28a745; }
+.box3 { background-color: #ff5722; }
+
+button {
+ padding: 10px 20px;
+ margin-top: 15px;
+ cursor: pointer;
+ border: none;
+ background-color: #333;
+ color: white;
+ border-radius: 6px;
+}
+
+button:hover {
+ background-color: #555;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-7/togglediv.html b/javascript/7-dom-manipulation/Assignment-7/togglediv.html
new file mode 100644
index 00000000..96945625
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-7/togglediv.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+ Toggle Divs Visibility
+
+
+
+ Toggle Visibility of Divs
+
+ Div 1
+ Div 2
+ Div 3
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-8/movetablerows.html b/javascript/7-dom-manipulation/Assignment-8/movetablerows.html
new file mode 100644
index 00000000..be9ff09f
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-8/movetablerows.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Move Table Rows
+
+
+
+ Moving Table Rows
+
+
+
+
+ | ID |
+ Item Name |
+ Actions |
+
+
+
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-8/script.js b/javascript/7-dom-manipulation/Assignment-8/script.js
new file mode 100644
index 00000000..3c6b56c4
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-8/script.js
@@ -0,0 +1,54 @@
+
+const tbody = document.querySelector("#dataTable tbody");
+
+for (let i = 1; i <= 10; i++) {
+ const row = document.createElement("tr");
+
+ row.innerHTML = `
+ ${i} |
+ Item ${i} |
+
+
+
+
+
+ |
+ `;
+
+ tbody.appendChild(row);
+}
+
+tbody.addEventListener("click", (e) => {
+ if (e.target.tagName !== "BUTTON") return;
+
+ const button = e.target;
+ const row = button.closest("tr");
+
+ if (button.classList.contains("up")) moveUp(row);
+ if (button.classList.contains("down")) moveDown(row);
+ if (button.classList.contains("top")) moveTop(row);
+ if (button.classList.contains("bottom")) moveBottom(row);
+});
+
+
+function moveUp(row) {
+ const prevRow = row.previousElementSibling;
+ if (prevRow) {
+ tbody.insertBefore(row, prevRow);
+ }
+}
+
+function moveDown(row) {
+ const nextRow = row.nextElementSibling;
+ if (nextRow) {
+ tbody.insertBefore(nextRow, row);
+ }
+}
+
+function moveTop(row) {
+ tbody.insertBefore(row, tbody.firstElementChild);
+}
+
+function moveBottom(row) {
+ tbody.appendChild(row);
+}
diff --git a/javascript/7-dom-manipulation/Assignment-8/style.css b/javascript/7-dom-manipulation/Assignment-8/style.css
new file mode 100644
index 00000000..b879dcaa
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-8/style.css
@@ -0,0 +1,41 @@
+body {
+ font-family: Arial, sans-serif;
+ background: #f4f6f8;
+ text-align: center;
+ padding: 30px;
+}
+
+table {
+ width: 60%;
+ margin: 0 auto;
+ border-collapse: collapse;
+ background: white;
+ box-shadow: 0 0 10px rgba(0,0,0,0.1);
+}
+
+th, td {
+ border: 1px solid #ccc;
+ padding: 10px;
+}
+
+th {
+ background-color: #333;
+ color: white;
+}
+
+button {
+ margin: 2px;
+ padding: 5px 10px;
+ border: none;
+ cursor: pointer;
+ border-radius: 4px;
+}
+
+.up { background-color: #2196f3; color: white; }
+.down { background-color: #4caf50; color: white; }
+.top { background-color: #ff9800; color: white; }
+.bottom { background-color: #f44336; color: white; }
+
+button:hover {
+ opacity: 0.8;
+}
diff --git a/javascript/7-dom-manipulation/Assignment-9/moveiframeele.html b/javascript/7-dom-manipulation/Assignment-9/moveiframeele.html
new file mode 100644
index 00000000..e70d1a82
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-9/moveiframeele.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+ Moving iFrame Elements
+
+
+
+ Moving iFrame Elements
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/javascript/7-dom-manipulation/Assignment-9/script.js b/javascript/7-dom-manipulation/Assignment-9/script.js
new file mode 100644
index 00000000..db158969
--- /dev/null
+++ b/javascript/7-dom-manipulation/Assignment-9/script.js
@@ -0,0 +1,85 @@
+
+const iframe = document.getElementById("tableFrame");
+const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
+
+const iframeHTML = `
+
+
+
+
+ | # | Item | Actions |
+
+
+ ${Array.from({ length: 10 }, (_, i) => `
+
+ | ${i + 1} |
+ Item ${i + 1} |
+
+
+
+
+
+ |
+
+ `).join("")}
+
+
+`;
+iframeDoc.open();
+iframeDoc.write(iframeHTML);
+iframeDoc.close();
+
+const tbody = iframeDoc.querySelector("tbody");
+
+function moveUp(row) {
+ const prev = row.previousElementSibling;
+ if (prev) tbody.insertBefore(row, prev);
+}
+
+function moveDown(row) {
+ const next = row.nextElementSibling;
+ if (next) tbody.insertBefore(next, row);
+}
+
+function moveTop(row) {
+ tbody.insertBefore(row, tbody.firstElementChild);
+}
+
+function moveBottom(row) {
+ tbody.appendChild(row);
+}
+
+document.getElementById("upBtn").addEventListener("click", () => {
+ const selectedRow = tbody.querySelector("tr:nth-child(3)"); // example: move 3rd row
+ moveUp(selectedRow);
+});
+
+document.getElementById("downBtn").addEventListener("click", () => {
+ const selectedRow = tbody.querySelector("tr:nth-child(3)");
+ moveDown(selectedRow);
+});
+
+document.getElementById("topBtn").addEventListener("click", () => {
+ const selectedRow = tbody.querySelector("tr:nth-child(3)");
+ moveTop(selectedRow);
+});
+
+document.getElementById("bottomBtn").addEventListener("click", () => {
+ const selectedRow = tbody.querySelector("tr:nth-child(3)");
+ moveBottom(selectedRow);
+});