2010-03-12 5 views
3

양식의 이름 만 제공하고 원하는 필드는 입력 요소라는 것을 알고 있으므로 특정 양식의 모든 입력 요소를 jQuery에서 가져 오려고합니다.특정 태그가있는 요소 가져 오기 jQuery

는의가 있다고 가정 해 봅시다 :

<form action='#' id='formId'> 
<input id='name' /> 
<input id='surname'/> 
</form> 

가 어떻게 jQuery를 함께 개별적으로 액세스합니까? 나는 실제로 오류가 다시 "XML filter is applied to non-XML value (function (a, b) {return new (c.fn.init)(a, b);})"

어쩌면 내가 그런 .children 또는 뭔가를해야 할 콘솔에 와서 성공하지 $('#formId > input') 뭔가를 시도? 나는 jQuery에서 꽤 새로운데, 나는 Docs를 정말 좋아하지 않는다. 그것은 Mootools에서 훨씬 더 친숙했습니다. 아니면 그냥 익숙해 져야 할 수도 있습니다.

오, 마지막으로 중요한 것은 있지만, 최종 답이 없다는 것을 알았습니다. jQuery로 새 DOM 요소를 만들고 코드로 삽입하기 전에 작업 할 수 있습니까? Mootools의, 우리는 var myEl = new Element(element[, properties]); 같은 것을 가지고 당신은 더 표현에서 참조 할 수 있지만 내가하고 결국 이런 일이었다 무엇 jQuery를

에 그렇게하는 방법을 이해하는 데 실패 : $('#where').before("<a id='linkId' href='#'>Link Text</a>") 그러나 이것은 패배 내 뜻을 아는 경우 삽입하기 전에 함께 작업해야합니다.

미리 감사드립니다.

$('#formId input') 

답변

3

이 질문에 대한 답변입니다.

<script type="text/javascript"> 

$(document).ready(function() { 
     // Question part 1 
    var formInputs = $("form#formId :input"); 
    formInputs.each(function(index) { 
     alert(index + ': ' + $(this).attr("id") + "=" + $(this).val()); 
    }); 

     // Question part 2 
    var a = $("<a id='linkId' href='#'>Link Text</a>"); 
    a.click(function(){alert("hello")}); 
    $('#where').before(a); 


}); 
</script> 

<form action="#" id="formId"> 
    <input id="name" type="text" value="foo" /> 
    <input id="surname" type="text" value="bar" /> 
    <div> 
    <input id="phone" type="text" value="911"/> 
    </div> 
</form> 
</div> 
<div id="where"></div> 
1

입니다

1

하면, jQuery를에 each() function 한 번 봐 걸릴 모든 입력을 반복 원하는 경우 : 여기 그것이 작동하는 방법

+0

+1 나는 그것을 읽었을지라도 나는 또한 잊어 버린 각 기능에 대해 가르쳐 주었다. – johnnyArt

5

을 당신은 woland의 응답 작품 @ 모든 자손을 원하는 경우 . 당신이 정말로 지시 한대로 직접 아이들을 원하면>

$('#form').children('input') 

Wolands는 이름, 성 및 전화와 일치합니다. 광산은 이름과 성씨 만 일치합니다.

<form action='#' id='formId'> 
<input id='name' /> 
<input id='surname'/> 
<div> 
<input id='phone'/> 
</div> 
</form> 
+0

그 때의 차이점은 무엇입니까? '#formId> input'이 작업을 수행해야합니다. 어쨌든 +1, 좋은 대답. –

+1

CSS 선택기에서 "#formId> 입력"과 "#formId 입력"의 차이는 ">"은 dom의 #formId 바로 아래에있는 요소와 일치한다는 것입니다. "# 형식 ID 입력"은 모든 하위 항목과 일치합니다. 입력은 15 div로 중첩 될 수 있으며 여전히 일치합니다. –