[javascript] Jquery 선택기 입력 [type = text] ‘)

기본적으로 input type=text다음과 같은 모든 요소를 선택하는 코드를 작성했습니다 .

$('.sys input[type=text]').each(function () {}

input[type=text]또는 선택하려면 어떻게 변경 select합니까?



답변

일반적인 CSS 선택기 사용 :

$('.sys input[type=text], .sys select').each(function() {...})

반복이 마음에 들지 않으면 :

$('.sys').find('input[type=text],select').each(function() {...})

또는 더 간결하게 context인수를 전달하십시오.

$('input[type=text],select', '.sys').each(function() {...})

참고 : 내부적으로 jQuery위의 내용을 find()동등한 것으로 변환합니다.

http://api.jquery.com/jQuery/

내부적으로 선택자 컨텍스트는 .find () 메서드로 구현되므로 $ ( ‘span’, this)는 $ (this) .find ( ‘span’)와 동일합니다.

개인적으로 가장 읽기 쉬운 첫 번째 대안을 찾습니다. 🙂


답변

$('.sys').children('input[type=text], select').each(function () { ... });

편집 : 실제로 위의 코드 .sys > input[type=text]는 하위 선택 ( .sys input[type=text])을 원하는 경우 @NiftyDude에서 제공하는 옵션을 사용해야하는 경우 하위 선택기와 동일합니다 .

추가 정보:


답변

반복해야하는 양식이나 테이블의 텍스트로 여러 입력이있는 경우 다음을 수행했습니다.

var $list = $("#tableOrForm :input[type='text']");

$list.each(function(){
    // Go on with your code.
});

내가 한 것은 유형이 “텍스트”로 설정되어 있는지 확인하기 위해 각 입력을 확인한 다음 해당 요소를 가져와 jQuery 목록에 저장하는 것입니다. 그런 다음 해당 목록을 반복합니다. 다음과 같이 현재 반복에 대한 임시 변수를 설정할 수 있습니다.

var $currentItem = $(this);

이것은 현재 항목을 각 루프의 현재 반복으로 설정합니다. 그런 다음 temp 변수로 원하는 것을 할 수 있습니다.

이것이 누구에게나 도움이되기를 바랍니다!


답변

$('input[type=text],select', '.sys');

루핑 :

$('input[type=text],select', '.sys').each(function() {
   // code
});


답변