개발 Q&A

제목 style="visibility:hidden; 에 대해서 문의드립니다.
글쓴이 gold 작성시각 2014/03/07 12:45:58
댓글 : 14 추천 : 0 스크랩 : 0 조회수 : 13043   RSS
 

function layer_view(obj,S_COMMENT) {
생략
 else if(obj == "comment") {
    var COMMENT = S_COMMENT;
    document.all.layer_date.style.visibility = "hidden";
    document.all.layer_ref.style.visibility = "hidden";
    document.getElementById('layer_date_comment' + S_COMMENT).style.visibility = "visible";
  } 
간단하게 말씀드리겠습니다.
 
댓글을 작업하고 있는데 해당 댓글의 "수정"을 눌으게 되면 창이 뜨면서 layer_view함수가 실행하게 됩니다.

이 실행된 각각의 ID값으로  hidden 아니면  visible값을 지정하게 됩니다.
obj == "comment" 라면 (댓글 부분 수정하고 싶으면)
layer_date(게시판 날짜)  ,  layer_ref(게시판 댓글) 부분은 hidden값으로 처리되고  

layer_date_comment+"댓글 번호" 가 visble 값으로 처리됩니다.
 
문제는 다른 댓글을 실행하게되면 기존에 있던  ex >id값 = layer_date_comment+"1"은 hidden값으로 처리해야되는데.
 
이 방법이 잘 안되네요.
 
id값 = layer_date_comment+"2은 실행은 되구요.  

그래서 id값 지정 할 필요없이  모든  id를 가지고 있는 데이타들을 hidden값으로 처리 할수 없을까요?
 
구지 id값 넣을 필요없이.
 
그 방법 있다면 부탁드립니다. 
 다음글 csv db입력에 대한 질문좀 드릴게요~ (1)
 이전글 노트북 뭐가 좋을까요? (2)

댓글

한대승(불의회상) / 2014/03/07 12:58:55 / 추천 0
동일한 class 를 지정하시고 처리 하시면 되겠네요.
jquery 쓰시면 편해요.
gold / 2014/03/07 13:14:33 / 추천 0
  죄송합니다 ㅠ,ㅠ 초보라서 ㅠ,ㅠ 

document.layer_box.style.visibility = "hidden";

class를  layer_box로 줬는데요 ㅠ,ㅠ 왜 안되는거죠?? ㅠㅠ
gold / 2014/03/07 13:20:12 / 추천 0
 
jQuery('#<%=document.getElementById('layer_date_comment' + COMMENT)%>').layer_box('visibility','hidden');
jQuery도 해보았지만 ㅠ.ㅠ
한대승(불의회상) / 2014/03/07 13:53:37 / 추천 0
 jquery 쓰신다면 그냥 아래처럼...
$('.layer_box').hide();
 
하시면 됩니다.
gold / 2014/03/07 14:06:21 / 추천 0
 jquery-1.3.2.min.js   버전이 낮으면 안되는 경우가 있습니까?
Artz / 2014/03/07 14:32:16 / 추천 0
 기본적으로 클래스명으로 요소에 접근하고 싶을때,
document.layer_box 의 형태로는 불가능할겁니다.

1. document.getElementsByClassName('layer_box');
2. document.querySelectorAll('.layer_box');
3 [jQuery 사용시] $('.layer_box');

동일한 명의 요소가 여러개 존재할 수 있기 때문에
배열로 리턴됩니다.
gold / 2014/03/07 14:42:52 / 추천 0
 말씀하신대로 해보았지만 왜 안되는건가요 ㅠ,ㅠ 다른 layer_box 클래스에 적용된거까지 전부 안되네요 ㅠ,ㅠ 
gold / 2014/03/07 14:46:45 / 추천 0
 아 참고로 자바 스크립트 안에 있습니다.
Artz / 2014/03/07 14:47:19 / 추천 0
브라우저 콘솔을 띄워서, 스크립트 상에 오류가 없는지를 먼저 확인해봐야겠네요.
gold / 2014/03/07 14:49:17 / 추천 0
 아 전부 안되는게 아니라  "obj == "comment"" 이 부분만 적용이 안되네요 ㅠ,ㅠ 

$('.layer_box').hide();  <-- 이것을 없애면 다시 되고
gold / 2014/03/07 15:03:03 / 추천 0
 아 죄송합니다 안되는게 아니었습니다.

그 해당 클래스는 모두 "
gold / 2014/03/07 15:47:15 / 추천 0
 정말 답이 없나요 ㅠ,ㅠ 
변종원(웅파) / 2014/03/07 16:26:38 / 추천 0
뷰 소스 해당부분을 올려보세요.

id는 해당 소스내에 여러개 존재할 경우 실행이 안되지만 class는 여러개 존재할 수 있습니다.
위 소스에는 클래스가 여러개 일 경우의 처리가 없습니다.

클래스가 한개만 있다면 id로 바꿔서 작업하시구요.
gold / 2014/03/10 13:54:38 / 추천 0
 모두 감사합니다 

visibility를 display로 바꾸고 block 과 none을 썻더니 됬습니다. 모두 감사합니다.