>
JSON 에서

 나는 문자열을 다시 얻는다 :

selectedDays: "Mon, Tue, Wed, Thur, Fri, Sat"

loop 의 어떤 형태를 추가 할 수 있도록 이것을 분해해야합니다   class 를 추가하려면  하지만 어떻게해야할지 모르겠습니다.

그래서 loop 에 타격과 같은 것을 추가 할 수 있습니다

$('button[name=SOME_NAME]).addClass('.btn-primary');

그것을 알아낼 수 없어, JSON 를 사용하지 마십시오  이전의 데이터.

console.log 에서 반환 된 전체 데이터

{
    endTime: "01:02",
    endTimeHr: "01",
    endTimeMin: "02",
    number: "00000001",
    position: "1",
    selectedDates: "All days of the month",
    selectedDays: "Mon, Tue, Wed, Thur, Fri, Sat",
    selectedMonths: "Jan, Aug",
    startTime: "01:01",
    startTimeHr: "01",
    startTimeMin: "01",
    timeRange: "-w",
    timeType: "specificTime"
};

현재 버튼의 HTML

<div class="form-horizontal" id="selectWeekdaysSection">
    <div class="form-group">
        <div class="col-md-offset-2 col-lg-4">
            <button id="mon" name="weekdaysbutton" class="btn btn-default" type="button" value="Mon">Mon</button>
            <button id="tue" name="weekdaysbutton" class="btn btn-default" type="button" value="Tue">Tue</button>
            <button id="wed" name="weekdaysbutton" class="btn btn-default" type="button" value="Wed">Wed</button>
            <button id="thur" name="weekdaysbutton" class="btn btn-default" type="button" value="Thur">Thur</button>
            <button id="fri" name="weekdaysbutton" class="btn btn-default" type="button" value="Fri">Fri</button>
            <button id="sat" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sat">Sat</button>
            <button id="sun" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sun">Sun</button>
        </div>
    </div>
</div>

스크린 샷-파란색도 스타일을 적용한 후의 버튼입니다


  • 답변 # 1

    단계 :

    <올>

    JSON에서 원하는 데이터를 추출합니다.

    문자열을 공백없이 소문자로 사용중인 형식으로 만드십시오.

    문자열을 배열로 분리

    배열을 반복하고 각 문자열을 선택기의 버튼 ID로 사용합니다.

    각 클래스에 수업을 추가하십시오.

    const json = {
      selectedDays: "Mon, Tue, Wed, Thur, Fri, Sat"
    }
    let selectedDays = json.selectedDays.toLowerCase().replace(/ /g, '').split(',')
    selectedDays.forEach(day => {
      $('button#' + day).addClass('.btn-primary')
    })
    // Log the classes
    $('button').each((i, e) => {
      console.log($(e).attr('id'), $(e).attr('class'))
    })
    
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <button id="mon" name="weekdaysbutton" class="btn btn-default" type="button" value="Mon">Mon</button>
    <button id="tue" name="weekdaysbutton" class="btn btn-default" type="button" value="Tue">Tue</button>
    <button id="wed" name="weekdaysbutton" class="btn btn-default" type="button" value="Wed">Wed</button>
    <button id="thur" name="weekdaysbutton" class="btn btn-default" type="button" value="Thur">Thur</button>
    <button id="fri" name="weekdaysbutton" class="btn btn-default" type="button" value="Fri">Fri</button>
    <button id="sat" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sat">Sat</button>
    <button id="sun" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sun">Sun</button>
    
    

  • 답변 # 2

    아직 JSON 데이터를 구문 분석하여 JavaScript 객체로 사용할 수없는 경우 가장 먼저 수행해야합니다. 그 후 selectedDays 를 참조 할 수 있어야합니다  속성을 사용하고 JavaScript의 분할 문자열 조작 방법을 사용하여 데이터를 .each ()를 사용하여 반복 가능한 것으로 변환하십시오.

관련 자료

  • 이전 selenium - 높은 차트에서 다음 데이터 포인트를 선택하는 방법
  • 다음 CouchDB와 Python으로 기계 학습을 사용하여 '이상한 행동'을 감지합니까?