2014-09-08 1 views

답변

3

당신이 this은 "텍스트 상자"를 포함하는 경우 알고 싶은 경우 (예를 들어, 내부 each) :

if ($(this).find("input[type=text]").length) { 
    // Yes, at least one 
} 

당신이 할 수 있습니다 그래서 typeinput 텍스트 상자도 있지만 (type 속성은 type 속성이없는 경우에도 "text" 속성이됩니다) :

if ($(this).find("input").filter(function() { 
     return this.type === "text"; 
    }).length) { 
    // Yes, at least one 
} 

(당신은 HTML5 type="number" 및 처리 방법을 결정하는 것이 좋습니다.)

textarea은 간단하다 :

if ($(this).find("textarea").length) { 
    // Yes, at least one 
} 
+0

두 가지를 하나의 선택자로 결합 할 수 있습니다. find ('input [type = text], textarea')'... 실제로 OP의 경우에는' 찾기 (': 입력')'su ffice도 있습니다 (물론 선택 버튼과 버튼도 포함됩니다). – raina77ow

+0

@ raina77ow :': input'은 체크 박스와 라디오 버튼과 버튼도 일치시킬 것입니다 ... OP가 텍스트 상자와'textarea'에 대해 다른 일을하고 싶지 않다는 것도 분명하지 않았습니다 ... –

1

당신은 입력 텍스트 영역을 찾아 길이 속성을 사용하여 확인해야 존재하지 않는 경우 :

$('tr td').each(function() { 
    if($(this).find('input[type="text"],textarea').length) { 
    //doA(); 
    } else { 
    //doB(); 
    } 
}); 
관련 문제