2012-09-07 6 views
0

HTML 요소를 만들고 속성 맵을 제공하기위한 jQuery 오버로드가 컨트롤에서 작동하지 않는 것 같습니다. 나는 IE는 당신이를 지정해야합니다 있도록 유형을 변경하는 것을 허용하지 않습니다 문서에서 본,하지만 속성이 IE와 크롬에서지도에 모든 것을 무시하는 것 같다 입력에서 jQuery (html, props)가 작동하지 않습니다.

$("<input type='text'>", { 
    id: "foo", 
    name: "foo", 
    value: "test" 
}).appendTo("body"); 

다음과 같은 요소를 만드는 것입니다 :

<input type="text" /> 

JSFiddle 동작을 시연 : http://jsfiddle.net/JyvBh/

답변

1

당신은 다른 속성의 일부로 유형을 추가해야합니다 그것을 작동합니다; 이 같은

$("<input>", { 
    type: "text", 
    id: "foo", 
    name: "foo", 
    value: "test" 
}).appendTo("body");​ 

EDIT : 위의 두 가지 방법을 포함

$('<input type="text" />').attr({ 
    id: 'foo', 
    name: 'foo', 
    value: 'test' 
}).appendTo("body"); 

Updated JSFiddle : Suportted 해결 대안 실제로 다른 아래와 같은 포맷을 사용 jQuery docs 따르면 jQuery를 문서

에있어서 .

도움이 되었기를 바랍니다. 이 같이 쓰는 경우

+0

잠깐, 설명서에 IE에서 지원되지 않는다고 말하는 부분이 있었기 때문에 설명서에 나온 내용과 일치하도록 썼습니다.하지만 IE에서는 작동하는 것 같습니다. 이상하게 보입니다. – Dismissile

+0

@Dismissile 해결 방법 섹션은 IE에 사용할 다른 형식을 보여줍니다. 위의 대답에 포함 시켰습니다. jQuery 1.4에서 소개 되었 듯이 현재 작동하는 형식은 이전 버전의 IE에서는 작동하지 않는다고 생각됩니다. – dSquared

1

그것은 작동 :

$("<input>", { 
    type : "text", 
    id: "foo", 
    name: "foo", 
    value: "test" 
}).appendTo("body");​ 
0

이 적절한 방법

$("<input />", { 
    type:'text', 
    id: "foo", 
    name: "foo", 
    value: "test" 
}).appendTo("body");​ 

DEMO입니다.

관련 문제