// # DOM Manipulation #
let val;
// ## document ##
val = document;
val = document.all[0];
val = document.all.length;
val = document.head;
val = document.body;
val = document.doctype;
val = document.domain;
val = document.URL;
val = document.contentType;
// ### document form ###
val = document.forms; //get element forms
val = document.forms[0].id; //get class/id form
val = document.forms[0].method; //get type method
// ### document links ###
val = document.links; //get all element a href
val = document.links[0]; //get element a href
val = document.links[0].className; // get clss in a href
// ### get document image ###
val = document.images
// ### get document script ###
val = document.scripts //get all script
val = document.scripts[1] //get script
val = document.scripts[1].getAttribute('src') //get link script
// #### list link script ####
let script= document.scripts;
let scriptArr = Array.from(script); //convert from HTMLCollection to array
scriptArr.forEach(function (script) {
// console.log(script.getAttribute('src'));
})
// console.log(val);
// ## get Element By Id
// console.log(document.getElementById('task-title')); //get element
// console.log(document.getElementById('task-title').id); //get attribute id in element
// console.log(document.getElementById('task-title').className); //get attribute class in element
const cardHeader = document.getElementById('task-title');
// ### Change style by id ###
cardHeader.style.background = 'black'; //change bg by id
cardHeader.style.color = 'white'; //change bg by id
// ### Change Content by id ###
cardHeader.textContent = 'Hello World'; //change Content by id
cardHeader.innerHTML = '
My Task
'
// ## get Query Select, just take the first query ##
// console.log(document.querySelector('#task-title')); //get element
// ### Change style by Query ###
document.querySelector('li').style.color = 'red'; //take the first query;
document.querySelector('li:nth-child(2)').textContent = 'Hello World'; // take the quey as requested;
// ## get Class By Class Name ##
const items = document.getElementsByClassName('list-group-item');
items[2].style.color = "blue"
// ## get Element By Tag Name ##
const buttom = document.getElementsByTagName('button');
buttom[1].style.color = "Blue"
// ## get query selector all ##
const listLight = document.querySelectorAll('li:nth-child(odd'); //get all query odd
listLight.forEach(function (li, index) {
li.style.background = '#ccc';
})
// ## create new element ##
const li = document.createElement('li');
// add class
li.className = 'list-group-item d-flex flex-row-reverse justify-content-between';
// add id
li.id = 'new-item'
// add attribute
li.setAttribute('title', 'new item')
// add innerHTML
li.innerHTML = 'x';
// Create append text node
li.appendChild(document.createTextNode("This New Text"))
// execution new element
document.querySelector('ul.list-group').appendChild(li);
// ## Replace Element ##
// Create element
const newHeading = document.createElement('h3');
// Add id
newHeading.id = 'task-title';
// New Text Node
newHeading.appendChild(document.createTextNode('Task List'));
// get old element
const oldHeading = document.getElementById('card-title');
// get parent
const cardTitle = document.querySelector('.card-header');
// Replace
// cardTitle.replaceChild(newHeading, oldHeading);
// ## Remove Element ##
const lis = document.querySelectorAll('li');
const list = document.querySelector('ul');
// Remove list item
lis[0].remove();
// ## Class And Attribute
// Class
// const firstLi = document.querySelector('li:first-child')
// const button = firstLi.children[0];
// let addClass;
// addClass = button.className
// addClass = button.classList
// button.classList.add("test");
// button.classList.remove("test");
// addClass = button;
// // Attribute
// addAtt = button.setAttribute("type", 'submit')
// addAtt = button.hasAttribute('type')
// addAtt = button;
// # Event #
// Event Listener
// click
document.querySelector('.clear-task').addEventListener('click', onClick);
// double click
// document.querySelector('.clear-task').addEventListener('dblclick', onClick);
// Mouse Down
// document.querySelector('.clear-task').addEventListener('mousedown', onClick);
// Mouse Up
// document.querySelector('.clear-task').addEventListener('mouseup', onClick);
// Mouse Enter
// document.querySelector('.clear-task').addEventListener('mouseenter', onClick);
function onClick(e) {
console.log(`Event type : ${e.type}`);
// Untuk berguna untuk mencegah untuk mengarahkan ke link a href
e.preventDefault();
e.target.innerText = "Clear Success";
}
// Form and input
const form = document.querySelector('form');
const taskInput = document.getElementById("input-task");
form.addEventListener('submit', runEvent);
function runEvent(e){
console.log(e.target.value);
// taskInput.value = '';
preventDefault(e);
}