jQuery를 사용하여 HTML 요소가 비어있는 경우에만 함수를 호출하려고합니다.
이 같은:
if (isEmpty($('#element'))) {
// do something
}
답변
if ($('#element').is(':empty')){
//do something
}
자세한 내용은 http://api.jquery.com/is/ 및 http://api.jquery.com/empty-selector/를 참조하십시오.
편집하다:
일부 사람들이 지적했듯이 빈 요소에 대한 브라우저 해석은 다를 수 있습니다. 공백과 줄 바꿈과 같은 보이지 않는 요소를 무시하고 구현을보다 일관성있게 만들려면 함수를 만들거나 코드를 사용하십시오.
function isEmpty( el ){
return !$.trim(el.html())
}
if (isEmpty($('#element'))) {
// do something
}
jQuery 플러그인으로 만들 수도 있지만 아이디어를 얻을 수 있습니다.
답변
Chrome과 FF에서 공백과 줄 바꿈을 요소로 간주하기 때문에 이것이 신뢰할 수있는 유일한 방법이라는 것을 알았습니다.
if($.trim($("selector").html())=='')
답변
공백과 줄 바꿈은 : empty 선택기를 사용하는 주요 문제입니다. CSS에서 : empty pseudo 클래스는 같은 방식으로 작동합니다. 나는이 방법을 좋아한다 :
if ($someElement.children().length == 0){
someAction();
}
답변
!elt.hasChildNodes()
예, 이것은 jQuery가 아니므로 다음을 사용할 수 있습니다.
!$(elt)[0].hasChildNodes()
이제 행복해?
답변
jQuery.fn.doSomething = function() {
//return something with 'this'
};
$('selector:empty').doSomething();
답변
“빈”이라는 말은 HTML 콘텐츠가 없다는 의미입니다.
if($('#element').html() == "") {
//call function
}
답변
텍스트가 포함되지 않은 상태로 비어 있습니까?
if (!$('#element').text().length) {
...
}