getElementsByTagName()
๋ฌ๋ ฅ ๊ตฌํ ์ค
- ์ค๋์ ํ์ฌ
์์ผ
ํ๊ธฐ
- ์ค๋์ ํ์ฌ
์ผ
ํ๊ธฐ
- ์ค๋์ ํ์ฌ
์
ํ๊ธฐ
- ์ค๋์ ํ์ฌ
์ฐ๋
ํ๊ธฐ
- ์ผ,์,ํ,์,๋ชฉ,๊ธ,ํ ์์ผ ๋ผ๋ฒจ๋ง ํ๊ธฐ
ํ์ฌ ์์ 1์ผ
์ด ๋ฌด์จ ์์ผ์ธ์ง ํ๋ณํ๊ณ , ํด๋น ์์ผ ๋ผ๋ฒจ๋ง์ 1์ผ ํ๊ธฐํ๊ธฐ
ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง
๊น์ง ๋ฌ๋ ฅ์ ํ๊ธฐํ๊ธฐ
- ์ฐ์ธก ํ์ดํ๋ฅผ ํด๋ฆญ ํ์๋, ๋ค์ ๋ฌ์ ์์ผ ๋ฐ ๋ ์ง ํ๊ธฐ
- ์ข์ธก ํ์ดํ๋ฅผ ํด๋ฆญ ํ์๋, ์ด์ ๋ฌ์ ์์ผ ๋ฐ ๋ ์ง ํ๊ธฐ
- ํน์ ๋ ์ง๋ฅผ ํด๋ฆญ ํ์๋, ์๋จ์ ์์ผ ๋ฐ ๋ ์ง ๋ฐ์ํ๊ธฐ
๋จ, ํน์ด ์ผ์ด์ค์ ๋ํ ๋์์ ํ์ง ์์๋ ๊ด์ฐฎ์ต๋๋ค. ์) ์ค๋
, ๊ธฐ์์ ๋ฑ
๋ฌ๋ ฅ์ ํ์ฌ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฒซ ํ์ด์ง๊ฐ ๋ํ๋์ผ ํฉ๋๋ค.
๋ค์ด๊ฐ๊ธฐ ์ ์ ์ด์ ์์ฑํ๋ HTML์์ ์์ผ๊ณผ ๋ ์ง๋ฅผ ๊ฐ๋ฆฌํค๋ class๋ฅผ ์์ ํด์คฌ๋ค
( day-of-the-week๋ฅผ day๋ก / day๋ฅผ date๋ก )
์ค๋์ ํ์ฌ ์์ผ / ์ผ / ์ / ์ฐ๋ ํ๊ธฐ
// ์ค๋์ ํ์ฌ [์์ผ, ์ผ, ์, ์ฐ๋] ํ์
var YMDD = new Date().toString();
var YMDDarray = YMDD.split(' ', 4);
console.log(YMDDarray); // (๋ฐฐ์ด ์์ ์์) ์์ผ, ์, ์ผ, ์ฐ๋
// ์์ผ
var day = document.querySelector('.day');
day.innerHTML = YMDDarray[0];
// ์ผ
var date = document.querySelector('.date');
date.innerHTML = YMDDarray[2];
// ์
var month = document.querySelector('.month');
month.innerHTML = YMDDarray[1];
// ์ฐ๋
var year = document.querySelector('.year');
year.innerHTML = YMDDarray[3];
const YMDD = new Date();
const YMDDarray = YMDD.toString().split(' ', 4);
function showYMDD (selector, index) {
document.querySelector(selector).innerHTML = YMDDarray[index];
}
showYMDD('.day', 0);
showYMDD('.date', 2);
showYMDD('.month', 1);
showYMDD('.year', 3);
ํ์ฌ ์์ 1์ผ์ด ๋ฌด์จ ์์ผ์ธ์ง ํ๋ณํ๊ณ , ํด๋น ์์ผ ๋ผ๋ฒจ๋ง์ 1์ผ ํ๊ธฐํ๊ธฐ
const currYear = YMDD.getFullYear();
const currMonth = YMDD.getMonth();
const currMonthFirst = new Date(currYear, currMonth, 1); // ํ์ฌ ์์ 1์ผ
const currMonthFirstDay = currMonthFirst.getDay(); // ใ ์ ์์ผ
// โ ์๋์์ ์ธ ๋ฒ์งธ ์๊ตฌ ์ฌํญ์ฒ๋ผ ์ฝ๋๋ฅผ ๊ตฌํํ๋๊น ์ด ๋ถ๋ถ์ด ํ์๊ฐ ์์ด์ก๋ค. ๋ถ๋ช
์ด๊ฒ๋ ์๊ตฌ ์ฌํญ ์ค ํ๋์ธ๋ฐ ๋ค์์ ๋งํ์ง๋ ๋ชจ๋ฅด๊ฒ ...
if (currMonthFirstDay === 3) {
document.querySelector('#day3').innerHTML = '1'; // ์ฌ๊ธฐ์ 1์ string์ด๋ค
}
ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง๊น์ง ๋ฌ๋ ฅ์ ํ๊ธฐํ๊ธฐ
๋ชจ๋ <td>
์ ์ ๊ทผํ๊ธฐ ์ํด getElementsByTagName()
์ด์ฉ
์ซ์๋ฅผ 1 ~ 31, 1 ~ 30, 1 ~ 28 ๊น์ง ์ ์ ํ์ผ 3๊ฐ๋ฅผ ๋ง๋ ํ fetch API๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ for ๋ฐ๋ณต๋ฌธ๊ณผ innerHTML์ ์ด์ฉํด < td >์ ํ๋์ฉ ์ง์ด๋ฃ์
ํ์ฌ ์์ด ์์ํ๋ ์์ผ(์ฆ, < td >)๋ถํฐ 1์ ์ง์ด๋ฃ๊ธฐ ์ํด i์ currMonthFirstDay๋ฅผ ๋ํด์ค
// ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง ๊ตฌํ๊ธฐ (30์ธ์ง 31์ธ์ง 28์ธ์ง)
const currMonthLast = new Date (currYear, currMonth+1, 0);
const currMonthLastDate = currMonthLast.getDate();
// ๋ง์ง๋ง ๋ ์ง๊น์ง ๋ฌ๋ ฅ์ ํ์
// ์ฆ, ์ด๋ป๊ฒ <td> ์๋ง 1 ~ 31(30)(28)๊น์ง ๋ฃ์ ์ ์์๊น?
const td = document.getElementsByTagName('td');
fetch('calendarDate30').then(function(response){
response.text().then(function(text){
const textArray = text.split(',');
for (let i = 0; i < textArray.length; i++) {
td[i+currMonthFirstDay].innerHTML = textArray[i];
}
})
});
// ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง ๊ตฌํ๊ธฐ (30์ธ์ง 31์ธ์ง 28์ธ์ง)
const currMonthLast = new Date (currYear, currMonth+1, 0);
const currMonthLastDate = currMonthLast.getDate();
ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง๊ฐ 30์ธ์ง 31์ธ์ง 28์ธ์ง์ ๋ฐ๋ผ ๋ฌ๋ ฅ์ ๋ ์ง๊ฐ ๋ค๋ฅด๊ฒ ๋ํ๋ ์ ์๋๋ก if ๊ตฌ๋ฌธ์ ์ถ๊ฐํ๋ค
์ฒ์์ if ์กฐ๊ฑด๋ฌธ ์์ fetch API๋ฅผ ์ผ์ผ์ด ๋ด์์ 3๊ฐ์ ๊ตฌ๋ฌธ์ ๋ง๋ค์๋ค๊ฐ fetch API๋ฅผ ๋ฐ๋ก ๋นผ๋ด์ insert๋ผ๋ ํจ์ ์์ ๋ด์์ฃผ์๋ค
// 3. ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง๊น์ง ๋ฌ๋ ฅ์ ํ๊ธฐํ๊ธฐ
// ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง ๊ตฌํ๊ธฐ (31์ธ์ง 30์ธ์ง 28์ธ์ง)
const currMonthLast = new Date(currYear, currMonth+1, 0);
const currMonthLastDate = currMonthLast.getDate();
// ๋ง์ง๋ง ๋ ์ง๊น์ง ๋ฌ๋ ฅ์ ํ์
// ์ฆ, ์ด๋ป๊ฒ <td> ์๋ง 1 ~ 31(30)(28)๊น์ง ๋ฃ์ ์ ์์๊น?
// ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง๊ฐ 31์ธ ๊ฒฝ์ฐ
// ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง๊ฐ 30์ธ ๊ฒฝ์ฐ
// ํ์ฌ ์์ ๋ง์ง๋ง ๋ ์ง๊ฐ 28์ธ ๊ฒฝ์ฐ
function insert (lastDayFile) {
const td = document.getElementsByTagName('td');
fetch(lastDayFile).then(function(response){
response.text().then(function(text){
const textArray = text.split(',');
for (let i = 0; i < textArray.length; i++) {
td[i+currMonthFirstDay].innerHTML = textArray[i];
}
})
});
}
if (currMonthLastDate === 30) {
insert('calendarDate30');
}
if (currMonthLastDate === 31) {
insert('calendarDate31');
}
if (currMonthLastDate === 28) {
insert('calendarDate28');
}
์์์ ๋ฐ๋ก ๋ง๋ค์๋ calendarDate30๊ณผ 28 ํ์ผ์ ์ญ์ ํ๊ณ , 31 ํ์ผ์์ split์ 2๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํด ๋ฐฐ์ด๋ก ์์๋ฅผ ์๋ผ์ ๊ฐ์ ธ์ค๋ ๊ฑธ๋ก ๋ฐ๊ฟ
if ์กฐ๊ฑด๋ฌธ ์ ๋ฆฌ
const currMonthLast = new Date (currYear, currMonth+1, 0);
const currMonthLastDate = currMonthLast.getDate();
function insert (limit) {
const td = document.getElementsByTagName('td');
fetch('calendarDate31').then(function(response){
response.text().then(function(text){
const textArray = text.split(',', limit);
for (let i = 0; i < textArray.length; i++) {
td[i+currMonthFirstDay].innerHTML = textArray[i];
}
})
});
}
if (currMonthLastDate === 31) {
insert(31);
} else if (currMonthLastDate === 30) {
insert(30);
} else {
insert(28);
}