테이블 내 tr에 display:none, display:block 주기

|

홈페이지 작업을 하다 회원가입시 주소 검색하는 부분이 필요해했다.


그래서 우편번호 옆에 검색버튼을 두고 클릭시 하단에 검색하는 tr이 보여지게 해놨는데....


파이어버그 때문에 웹페이지를 만들때는 항상 파폭에서 작업을 하는데 이상하게 보이고안보이고 할때 넓이가 지멋대로 되는 현상이 발행하는 것이었다.


하지만 익스로 테스트를 해보니 잘되네???

그래서 구글신에게 요청을 하니 이런 답이 나왔다.


"표준 기반 브라우저에서 tr 요소의 기본 display 속성 값은 block이 아니라 table-row입니다."

표준에서는 display 속성값을 table-row로 하면 제대로 보여준다 이 말인데, 하지만 익스에서는 먹히지 않는다. ㅋㅋ???


결론은 표준과 비표준 동시에 만족해주기 위해서는

sytle.display = "" 처럼 그냥 빈 문자열("")을 써서 요소의 기본 display 속성 값으로 초기화시키거나, style="display:table-row; *display:block;" 으로 써 주면 된다.

<tr>
  <th scope="row"><label for="zip">우편번호</label></th>
    <td>
      <input type="text" name="zip" id="zip" value="" class="inputTypeText" size="7" maxlength="7" />
      <a href="#" id="viewSearchAddress" onclick="return false;" class="button"><span>검색하기</span></a>
    </td>
</tr>
<tr id="searchAddress" style="display:none;">
  <th scope="row"><label for="searchAddressText">주소</label></th>
  <td><input type="text" name="searchAddressText" id="searchAddressText" class="inputTypeText" /></td>
</tr>

<script type="text/javascript">
$("#viewSearchAddress").click(function() {
  status = $("#searchAddress").css("display");
  if (status == "none") {
    $("#searchAddress").css("display","");
  }
  else {
    $("#searchAddress").css("display","none");
  }
});
<script>

상단 스크립트 중 status가 "none"일 경우 display를 block로 줬었는데 "" 즉 공백으로 바꿔버렸다.

And