티스토리 뷰

반응형

html로 이루어진 달력 테이블이 있고. 
이때 각 테이블의 td에는 클래스는 날짜로 되어있으며 사람 이름이 들어가있을때
날짜별로 해당 테이블에 있는 사람의 이름을 구하는 javascript

// 모든 'td' 요소를 가져옵니다.
var tds = document.getElementsByTagName('td');

// 결과를 저장할 객체를 생성합니다.
var datePersonMap = {};

// 각 'td' 요소에 대해 반복합니다.
for (var i = 0; i < tds.length; i++) {
    // 'td' 요소의 클래스 이름을 가져옵니다.
    var date = tds[i].className;

    // 'td' 요소의 텍스트 내용(사람의 이름)을 가져옵니다.
    var person = tds[i].textContent || tds[i].innerText;

    // 결과 객체에 날짜와 사람의 이름을 추가합니다.
    datePersonMap[date] = person;
}

// 결과를 콘솔에 출력합니다.
console.log(datePersonMap);

여기서 좀더 복잡해졌지만

function calculate_events(){
  // 결과를 저장할 객체를 생성합니다.
  var textCountMap = {};
  var holidayCountMap = {};
  // 'td' 요소를 모두 선택합니다.
  var tds = document.querySelectorAll('td');


  // 각 'td' 요소에 대해 반복합니다.
  tds.forEach(function(td) {
      // 'td' 요소의 'data-date' 속성을 가져옵니다.
      var date = td.getAttribute('data-date');
      if (!date) return;
      var bgColor = window.getComputedStyle(td).backgroundColor;
      if(bgColor !="rgba(0, 0, 0, 0)") console.log(bgColor);
      // 'td' 요소 내부의 'fc-event-title' 클래스를 가진 div의 텍스트를 가져옵니다.
      var divs = td.getElementsByClassName('fc-event-title fc-sticky'); 
      console.log(divs.length);     
      for (var i = 0; i < divs.length; i++) {
        var text = divs[i].textContent;// || divs[i].innerText;
        var str2 = "" + i;
        console.log(date + str2 + text);
        console.log(i);
        // 결과 객체에 텍스트를 추가하고, 등장 횟수를 계산합니다.
        if (textCountMap[text]) {
          textCountMap[text]++;
        } else {
          textCountMap[text] = 1;
        }
        if(bgColor !="rgba(0, 0, 0, 0)") {
          console.log(bgColor);
          if (holidayCountMap[text]) {
            holidayCountMap[text]++;
        } else {
          holidayCountMap[text] = 1;
        }          
        }
      };     
  });
  console.log(textCountMap);
  console.log(holidayCountMap);

를 만들어서 drag할때 넣어줘서 처리

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함