2010-03-01 6 views
7

셀이 비어 있는지 확인할 수있는 간단한 JS 코드입니다.자바 스크립트를 사용하여 HTML 표 셀이 비어 있는지 확인 하시겠습니까?

"onmouseover = func()"을 사용하여 호출되는 함수를 코딩하려고합니다. 난 그냥 JS 코드를 얻을 것 같습니다. 어떤 아이디어?

이상적으로 노력하고있는 것은 셀이 비 었는지 여부를 판단 할 수있는 코드입니다. 그렇다면 "Cell Empty"처럼 간단한 값을 입력하십시오.

나는 아마 간단하게 들리지만 약간의 도움을 줄 수 있음을 알고있다. 아이디어를 제공해 주셔서 감사합니다.

답변

2

jQuery를 사용하는 경우 요소에 html() 메서드를 사용하십시오. 이 코드는 그것을 할 것입니다

<td id="my_cell"></td> 

: 그것은이 처음에 일 무슨에 조금 따라

if ($('#my_cell').html() == '') { 
    $('#my_cell').html('Cell Empty'); 
} 
+0

이 질문은 그래서이 질문에 대답하지 않는 jQuery를 전혀 언급하지 않는다. – cletus

+1

jQuery를 사용한다면'.innerHTML' 대신'.html()'을 사용해야합니다. – Aistina

+0

죄송합니다. html로 수정 됨(). –

3

이 마크 업을 감안할 때. 내 경험에 의하면 셀에 공백 만 있으면 테이블이 이상하게 작동하므로 일반적인 해결 방법은 붕괴를 막기 위해 &nbsp;을 넣는 것입니다. 어쨌든, 여기에 확인할 것 방법은 다음과 같습니다

function elementIsEmpty(el) { 
    return (/^(\s|&nbsp;)*$/.test(el.innerHTML); 
} 

function replaceCell(td) { 
    if (elementIsEmpty(td)) { 
     td.innerHTML = 'Cell Empty'; 
    } 
} 


<td onmouseover="replaceCell(this)"></td> 

을 ... 더 좋은 방법은 자바 스크립트 이벤트 핸들러를 통해 행동을 적용하는 것입니다하지만.

jQuery를 Withouth (오래된 좋은 시절처럼)
+0

그 이상한 행동은 IE6/7에만 적용됩니다. 마크 업을 포함하여 전체 셀을 렌더링하지 않습니다. 일반적으로 테두리 또는 배경색이 부족한 경우 먼저주의해야합니다. – BalusC

1

:

function func(e){ 
    var target = window.event ? window.event.srcElement : e ? e.target : null; 
    if (target.innerHTML === ''){ 
     target.innerHTML = 'Cell Empty!'; 
    } 
} 
+1

당신, 선생님, "이상한"정의가 있습니다. – nickf

+1

선생님, 아이러니 한 의견을 이해할 수 없다고 생각합니다. – Matias

관련 문제