이게 가능한지. 스크립트 질문드립니다. 채택완료

ul.info 내 두번째 li.percent 안에 "span" 이 존재하면,

첫번째 li.price 에 line-through 를 주고,

span이 없으면 auto 를 주는 방법이 될까요??

 

 

Copy
<ul class="info">

<!-- 첫번째 li --><li class="price">1000원 <span class="none"></span></li>

<!-- 두번째 li --><li class="price percent">900원 <span>10%</span></li>

</ul>

 

<ul class="info">

<!-- 첫번째 li --><li class="price">1000원 <span class="none"></span></li>

<!-- 두번째 li --><li class="price percent"></li>

</ul>

 

 

답변 5개

채택된 답변
+20 포인트

Copy
<script>

$.each($("ul.info"), function(){
    var span = $(this).find(".percent").find('span');
    if(span.length){
        $(this).find("li:eq(0)").addClass("line-through");
    }else{
        $(this).find("li:eq(0)").addClass("auto");
    }
});

</script>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

php에서 해결하는 것이

 더 쉽지 않을까요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$('li.percent>span').parent().prev().css('text-decoration','line-through');

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Firefox 브라우저를 크게 신경쓰지 않는다면 css 만으로도 가능은 합니다.

Copy
<style>
ul.info li.price:has(+ li.percent span) { text-decoration: line-through; }
</style>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$('li.percent>span').parent().css('text-decoration','line-through');

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변 감사합니다.. 이렇게 하면, 두번째 li 에 값이 적용됩니다..
두번째 li의 span 값 유무에 따라 → 첫번째 li 값이 변경되야 하는거라서요..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고