게시판 검색시 이미지 질문입니다.
본문
어떤 카테고리로든 게시판 글을 검색시 최상위 번호에 있는 이미지(답변, new, 파일)등을 지울수 있는 방법이 있을까요??
list.skin부분에서 스크립트로 하면 될꺼같기도 한데.. 좀처럼 쉽게 되지가 않네여 ㅜ
고수님들 부탁드리겠습니다 ㅜ
현재 list.skin 부분의 스크립트 쪽에
$('.td_subject').on(function(){
$(this).contents().find('img').first().css('display', 'none');
});
이런식으로 스크립트를 짜보았는데 먹히질 않네요 ㅜ
답변 3
// <td>중, class속성이 td_subject인것들의 상위객체(<tr>)들
// 각각에 대해 function을 수행합니다.
$('td.td_subject').parent().each(function(){
// <tr>객체 밑으로 있는 <td>중, class속성이 td-num인것들(번호,조회수)중,
// 첫번째 <td>의 텍스트(즉, 번호1,2,... 또는 "공지")의 좌우측 공백을 제거해서,
// no라는 변수에 담습니다.
var no = $.trim( $(this).find('td.td_num:first').text() );
// no가 숫자가 아니면(공지), 이 밑에 줄을 실행하지 않고,
// 그냥 다음 <tr>로 작업을 넘어갑니다.
if( $.isNumeric(no) === false ) return true;
// 여기가 실행되려면, no가 숫자라는 의미이므로...
// <td class="td_subject">밑에 있는 <img~~>태그들을 모조리 제거합니다.
$(this).find('td.td_subject > img').remove();
//$(this).find('td.td_subject > img').css('display', 'none');
// 첫번째 줄(tr)의 이미지를 제거했으니, 2,3,4~~번째줄은 안해도 되니,
// 이 function을 종료합니다.
return false;
});
<script>태그 안에 넣는겁니다..
그리고, 바로 실행하면 안먹으니까, 페이지의 모든내용을 완전히 로딩한 다음에, 실행합니다.
<script>
$(document).ready(function(){
$('td.td_subject').parent().each(function(){
var no = $.trim( $(this).find('td.td_num:first').text() );
if( $.isNumeric(no) === false ) return true;
$(this).find('td.td_subject > img').remove();
//$(this).find('td.td_subject > img').css('display', 'none');
return false;
});
});
</script>
정리합니다...
<질문> 게시판 검색을 했을때만, 출력되는 게시판 목록중에서 첫째줄의 제목란에 포함되어 있는 아이콘들을 모두 없애야 한다.(단, 답장 아이콘은 빼고..)
<구현방법>
1. php로 하는 이미지들 필터링해서 출력하는 방법.
2. php에서는 원래대로 이미지를 출력하도록 놔두고(기존 php소스 건드리지 않고),
그냥 jQuery 스크립트를 페이지 끝에 추가하여, 화면에 표시될때 그냥 바로 제거하는 방법!
2번방법이 님이 질문에 적어놓은 "스크립트 하면 될꺼 같은데~"라는 것을 구현하는 방법입니다.
그래서 지금 말하는 있는 것은 2번방법에 대한 설명입니다.
sir에 있는 그누보드 데모 기준입니다.
http://demo.sir.kr/gnuboard5/bbs/board.php?bo_table=free
skin/board/basic/list.skin.php 파일의 맨 마지막에,
<script>
// 게시판검색했을때는, 웹브라우저 주소창에 보면 stx라는 변수가 붙습니다.
// 그래서 그 stx라는 변수를 주소창에서 찾아본다.
var matches = location.href.match(/stx=(.+)/);
// 주소창에 stx라는 변수가 붙었다면(즉, 게시판 검색이라는 뜻..)
if(matches !== null) {
// 첫번째 줄의 제목란에 답장아이콘이 아닌 이미지들은 모두 제거 !!!
$('td.td_subject:first img:not([src$="icon_reply.gif"])').remove();
}
</script>
이해했기를 바래요~~~
!-->