js질문드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
js질문드립니다.

QA

js질문드립니다.

본문


var menu_count = document.getElementById('first').innerText;
var list = document.querySelectorAll("#slideCateList_s ul li");
for(let i = 1; i < 15 ; i ++){
    if(list[i].innerText.includes(menu_count)){
        console.log(i);
    }
}
 

<div id="slideCateList_s" >
    <div class="swiper-container">
    <ul class="swiper-wrapper">
        <li class="swiper-slide "><a href="#" >관리</a></li>
        <li class="swiper-slide "><a href="#" >기타</a></li>
        <li class="swiper-slide "><a href="#" >등등</a></li>
    </ul>
    </div>
</div>
 

요렇게 했습니다.

 

menu_count 의 값은 "관리"로 한글 입니다.

slideCateList_s ul li 중에 "관리"가 포함되어있으면 

뭔가를 하고 싶은데 영 안됩니다 ㅠ

뭐를 잘못한걸까요?ㅠ

이 질문에 댓글 쓰기 :

답변 4


<div id="slideCateList_s" >
    <div class="swiper-container">
    <ul class="swiper-wrapper">
        <li class="swiper-slide "><a href="#" >관리</a></li>
        <li class="swiper-slide "><a href="#" >기타</a></li>
        <li class="swiper-slide "><a href="#" >등등</a></li>
    </ul>
    </div>
</div>

<script>
$('#slideCateList_s ul li a').each(function() {
    let txt = $(this).text();
    //alert(txt);
    if (txt == '관리')
        $(this).css('color', 'red');
});
</script>

for(let i = 1; i < 15 ; i ++){
    if(list[i].innerText.includes(menu_count)){
        console.log(i);
    }
}

 

i 값을 0으로 변경해주세요

 

요소는 0번부터 시작입니다.

아 지금 보니깐 스와이퍼네요

 

스와이퍼면 transitionEnd 이벤트 사용해야 합니다.

 



swiper.on('transitionEnd', function() {
	console.log('now index :::', swiper.realIndex);
});

 

  var menu_count = document.getElementById('first').textContent;
                var selected = document.querySelectorAll("#slideCateList_s ul li");
                
                selected.forEach(item => {
                    //console.log(item.innerText);
                    if(item.innerText === menu_count){
                    console.log(item.innerText);
                    }
                });

요렇게도 해보았습니다.

 

한글을 인식 몬하는것 같습니다 ㅠㅠㅠㅠ

 

menu_count 는 유동적으로 변경됩니다 ㅠ

 

 

--------------------------------------

해결함

 

                   let menu_count = document.getElementById('first').textContent;
                $('#slideCateList_s ul li a').each(function() {
                    let txt = $(this).text();
                    let menu_count2 = menu_count.trim();
                    
                    if (txt  == menu_count2 ){
                        $(this).addClass('firston');
                    }
                });

 

이런식으로 해결했습니당.

trim....ㅎㅎㅎ



<script>
let menu_text = $('#first').text();
$('#slideCateList_s ul li a').each(function() {    
    if (menu_text.trim() == $(this).text())
        $(this).addClass('firston');
});
</script>

답변을 작성하시기 전에 로그인 해주세요.
전체 19
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT