2016-07-10 2 views
0

나는 php를 사용하여 약 40 개의 문자열을 반복하고있다. 현재 substr()을 사용하여 처음 170 자만 표시합니다. jQuery를 사용하여 나머지 문자열을 숨기고 나머지를 표시하는 링크를 만듭니다.더 많은 것을 PHP 루프 및 jquery와 함께 표시

다음
echo "<span>" . $substring_1 . "</span><span class='dotdot'>...</span><span class='readmore'>" . $substring_2 . "</span><a href='#' class='clickmore'>Show more</a>"; 

가 jQuery를이다 : 이것은 내가 반복하고있는 코드이 코드는 작동

$(document).ready(function() { 
    $(".readmore").hide(); 
    $(".clickmore").click(function() { 
     $(".dotdot").hide(); 
     $(".readmore").show(); 
    }); 
}); 

은, 그러나, 나는 단지이를하고자하는 각각의 문자열 "더 보여". 지금은 클래스 선택기를 사용하기 때문에 "더보기"를 클릭하면 루프의 모든 인스턴스에 대해 "더 많이 표시합니다".

내가 클릭하는 루프의 인스턴스에 대해서만 "더 많이 표시"할 수있는 방법이 있습니까?

답변

0

당신이 작동하지 않는 $(this) 어떤 이유로

+0

$(document).ready(function() { $(".readmore").hide(); $(".clickmore").click(function() { $(this).prev().prev(".dotdot").hide(); //<<<<<<<<<<<<<<< $(this).prev(".readmore").show(); //<<<<<<<<<<<<<<< $(this).hide(); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <span>This is</span><span class='dotdot'>...</span><span class='readmore'> Complete string</span><a href='#' class='clickmore'>Show more</a> <hr /> <span>This is</span><span class='dotdot'>...</span><span class='readmore'> Complete string</span><a href='#' class='clickmore'>Show more</a> <hr /> <span>This is</span><span class='dotdot'>...</span><span class='readmore'> Complete string</span><a href='#' class='clickmore'>Show more</a>

$(document).ready(function() { $(".readmore").hide(); $(".clickmore").click(function() { $(this).prev().prev(".dotdot").hide(); //<<<<<<<<<<<<<<< $(this).prev(".readmore").show(); //<<<<<<<<<<<<<<< }); }); 
prev(), 사용할 필요가있다. 일부 html 코드를 변경해야합니까? – Matt

관련 문제