Module 2 Notes FSD
Module 2 Notes FSD
1. Introduction to DOM
• Using JavaScript:
• Using jQuery:
• JavaScript:
• jQuery:
o $("selector").html("New Content");
o $("selector").text("New Text");
o $("selector").attr("attribute", "value");
• JavaScript:
• jQuery:
o $("parent").append("<tag>New Content</tag>");
o $("parent").prepend("<tag>New Content</tag>");
o $("selector").remove();
BIS601 | FULLSTACK DEVELOPMENT | SEARCH CREATORS.
5. Handling Events
• JavaScript:
o element.addEventListener("event", function);
• jQuery:
• Example:
document.getElementById("btn").addEventListener("click", function() {
alert("Button Clicked!");
});
$("#btn").on("click", function() {
alert("Button Clicked!");
});
• JavaScript:
o element.style.property = "value";
• jQuery:
o $("selector").css("property", "value");
• Example:
document.getElementById("box").style.backgroundColor = "blue";
$("#box").css("background-color", "blue");
• $("selector").fadeIn();
• $("selector").fadeOut();
• $("selector").slideUp();
• $("selector").slideDown();
fetch("url")
• jQuery AJAX:
$.ajax({
url: "url",
method: "GET",
success: function(data) {
console.log(data);
});
9. Event Delegation
• Used for handling events dynamically on elements that may not exist at the
start.
• JavaScript:
document.getElementById("parent").addEventListener("click", function(event) {
if (event.target.matches(".child")) {
console.log("Child clicked!");
});
• jQuery:
console.log("Child clicked!");
});
1. DOM Node
2. Accessing Nodes
Using JavaScript
Using jQuery
Example:
Using JavaScript
Example:
document.body.appendChild(newDiv);
Using jQuery
• $("parent").append("<div>New Element</div>");
• $("parent").prepend("<div>New at Start</div>");
Example:
$("body").append("<div>New Element</div>");
Using JavaScript
Example:
toRemove.parentNode.removeChild(toRemove);
Using jQuery
Example:
$("#remove").remove();
$("#old").replaceWith("<p>New Paragraph</p>");
Using JavaScript
Example:
document.body.appendChild(clone);
Using jQuery
• $("selector").clone();
Example:
$("body").append(clonedElement);
Using JavaScript
Example:
Using jQuery
• $("selector").parent();
• $("selector").children();
• $("selector").first();
• $("selector").next();
Example:
Using JavaScript
Using jQuery
• $("selector").html("New Content");
• $("selector").text("New Text");
Example:
$("#demo").html("Updated Content");
Using JavaScript
• element.setAttribute("attribute", "value");
• element.getAttribute("attribute");
• element.removeAttribute("attribute");
Using jQuery
• $("selector").attr("attribute", "value");
• $("selector").removeAttr("attribute");
Example:
document.getElementById("demo").setAttribute("class", "new-class");
$("#demo").attr("class", "new-class");
• Example:
• Example:
document.getElementById("myImage").setAttribute("src", "new.jpg"); //
JavaScript
3. Handling Events
• Example:
document.getElementById("btn").addEventListener("click", function() {
alert("Clicked!");
});
$("#btn").on("click", function() {
alert("Clicked!");
});
• jQuery: .off("event")
• Example:
document.getElementById("btn").removeEventListener("click", myFunction);
$("#btn").off("click");
1. Mouse Events
document.getElementById("btn").addEventListener("click", function() {
alert("Button clicked!");
});
// jQuery
$("#btn").on("click", function() {
alert("Button clicked!");
});
2. Keyboard Events
document.addEventListener("keydown", function(event) {
});
// jQuery
$(document).on("keydown", function(event) {
});
3. Form Events
document.getElementById("myForm").addEventListener("submit",
function(event) {
alert("Form submitted!");
});
// jQuery
$("#myForm").on("submit", function(event) {
event.preventDefault();
alert("Form submitted!");
});
4. Window Events
window.addEventListener("resize", function() {
console.log("Window resized!");
});
// jQuery
$(window).on("resize", function() {
console.log("Window resized!");
});
5. Clipboard Events
document.addEventListener("copy", function() {
alert("Content copied!");
});
// jQuery
$(document).on("copy", function() {
alert("Content copied!");
});
document.getElementById("dragElement").addEventListener("dragstart",
function() {
console.log("Dragging started!");
});
// jQuery
$("#dragElement").on("dragstart", function() {
console.log("Dragging started!");
});
7. Media Events
These events are used for media elements like <audio> and <video>.
document.getElementById("myVideo").addEventListener("play", function() {
});
// jQuery
$("#myVideo").on("play", function() {
});
document.addEventListener("touchstart", function() {
console.log("Screen touched!");
});
// jQuery
$(document).on("touchstart", function() {
console.log("Screen touched!");
});
• Syntax:
element.addEventListener("event", function);
• Example:
document.getElementById("btn").addEventListener("click", function() {
alert("Button clicked!");
});
• Syntax:
element.event = function;
• Example:
document.getElementById("btn").onclick = function() {
alert("Button clicked!");
};
• ⚠ Limitations:
• Syntax:
$(selector).on("event", function);
• Example:
$("#btn").on("click", function() {
alert("Button clicked!");
});
• Example:
$("#btn").click(function() {
alert("Button clicked!");
});
• Simpler syntax but does not work for dynamically created elements.
• JavaScript (addEventListener):
• jQuery (.on()):
});
• JavaScript (querySelectorAll):
document.querySelectorAll(".buttons").forEach(button => {
button.addEventListener("click", function() {
});
});
• jQuery (.each()):
$(".buttons").each(function() {
$(this).on("click", function() {
});
});
document.addEventListener("click", function(event) {
if (event.target.classList.contains("dynamic-btn")) {
});
• jQuery (.on()):
});
• JavaScript (removeEventListener):
function myFunction() {
alert("Clicked!");
document.getElementById("btn").addEventListener("click", myFunction);
document.getElementById("btn").removeEventListener("click", myFunction);
• jQuery (.off()):
Event Delegation
2. Use event.target to check if the event was triggered by the intended child
element.
3. Execute the event handler only if the correct child element is clicked.
document.getElementById("list").addEventListener("click", function(event) {
});
The event listener is attached to the #list parent, but it works for all <li>
elements inside it.
Works even for new <li> items added later.
});
When dealing with lists, tables, or elements created dynamically (e.g., <ul>,
<table>, <div>)
When handling repetitive UI components (e.g., buttons inside cards, form
fields inside a container)
When optimizing performance for high-interaction web pages
If the child elements have different event handlers that must be unique
If capturing event behavior is needed (i.e., focus, blur, mouseenter)
If immediate response is required (event delegation may have a slight delay in
large DOM structures)
6. Real-World Example
document.getElementById("addItem").addEventListener("click", function() {
document.getElementById("list").appendChild(newItem);
});
document.getElementById("list").addEventListener("click", function(event) {
});
An event listener is a function that waits for a specific event (like a click, hover,
or keypress) to happen on an element and executes a function in response.
document.getElementById("btn").addEventListener("click", function() {
alert("Button Clicked!");
});
You can directly assign an event to an element using properties like onclick.
Example:
document.getElementById("btn").onclick = function() {
alert("Button Clicked!");
};
⚠ Limitations:
document.getElementById("btn").addEventListener("click", function() {
alert("Button Clicked!");
});
Named Function
function showAlert() {
alert("Button Clicked!");
document.getElementById("btn").addEventListener("click", showAlert);
document.getElementById("btn").removeEventListener("click", showAlert);
⚠ The function must be named when removing it. Anonymous functions cannot
be removed.
$("#btn").on("click", function() {
alert("Button Clicked!");
});
$("#btn").click(function() {
alert("Button Clicked!");
});
document.getElementById("parent").addEventListener("click", function() {
alert("Parent Clicked!");
});
document.getElementById("child").addEventListener("click", function(event) {
alert("Child Clicked!");
});
document.getElementById("child").addEventListener("click", function(event) {
event.stopPropagation();
});
JavaScript Example
jQuery Example
});
6. Event Delegation
JavaScript Example
document.getElementById("parent").addEventListener("click", function(event) {
});
jQuery Example
});