일부 tr style 제어하기
본문
tr 클릭했을때 onclick 이벤트를 줬습니다.
tr마다 고유 ID값이 있어서 onclick에 함수 호출하면서 파라미터로 ID값을 넘겼습니다.
alert로 ID값이 잘 뜨는걸 확인했습니다.
넘겨받은 ID를 갖고 있는 tr 태그만 style을
클릭했을때 block 이면 none으로 none 이면 block 으로 바꾸려고 하는데
어떻게 짜야할지 잘 모르겠습니다.
tr 클래스는 one_item_view 입니다.
<tr class="one_item_view" onclick="show_only_this_item('<? echo $item?>');" >
function show_only_this_item(only_this_item) {
$(".one_item_view").click(function() {
alert(only_this_item);
if($(".one_item_view").css("display","")) {
$(".item_more_view").css("display","none");
}else if($(".item_more_view").css("display","none")){
$(".item_more_view").css("display","block");
}
});
}
답변 3
특정한 대상 아이디 tr 을 컨트롤 하시려면
<tr class="one_item_view" onclick="testww(아이디)">
function testww(tr_id){
var _tr = this.document.getElementById(tr_id);
//alert(_tr.style.display);
if( _tr.style.display == "none" || !_tr.style.display) _tr.style.display = "block";
else if( _tr.style.display == "block") _tr.style.display = "none";
}
위 코드로 테스트해보세요
코드가 좀 이상한 거 같습니다.
<tr class="one_item_view" onclick="">
위에 보면 onclick 이벤트가 걸린 자신이 숨고 나타나고 하는데 숨었을 땐 어딜 클릭을 해야 하나요?
display:none일 땐 아무 것도 안 나타날 텐데 클릭할 수 있는 곳이 없네요.
현재 내용중에서 문제점을 본다면 tr태그 자체에 onclick이라는 이벤트가 있는데 다시 제이쿼리 부분에서 클릭이벤트를 다시 걸어주는 것은 중복이라고 보여지고요.
id값이 있는지를 확인하려면 #변수명 형식으로 구성이 되어야 하는데 그런 부분이 보여지지 않네요.
이런 부분 체크해서 다시 구성해 보세요.