<input id="test">
<input id="test">
document.getElementById("test") 이렇게 하면 첫번째만 선택되던데..
이렇게 아이디값이 같은 여러개를 웹표준에 맞게 어떻게 선택하죠?
document.all은 ie에서만 되는걸로 알고 있습니다.
getElementById 로 배열 선택
-
- 해커
- Posts: 1146
- Joined: 2004 01 15 20:06 36
ID는 unique해야 합니다. 그렇지 않으면 ID가 아니겠지요. (하나의 ID를 중복해서 쓰면 HTML 표준 검사를 통과할 수 없습니다. ) 주민 등록 번호를 공유할 수 없듯이요. 스타일 변경을 하시고자 한다면, class를 같이 주시고, 아래 주소에서 설명하는 함수들을 써 보세요. getStyleByClass나 setStyleByClass를 써 보세요.
http://developer.apple.com/internet/web ... tyles.html
http://developer.apple.com/internet/web ... tyles.html
-
- Posts: 26
- Joined: 2005 07 06 00:25 06
- Contact:
뭐 저 경우에는...
뭐 저 경우에는
document.getElementsByTagName("input")[0] 이나
첨자를 1로 바꾸면 둘 중 하나가 선택되겠네요.
document.getElementsByTagName("input") 하시면
태그 이름 'input'을 가진 Element들이 반환됩니다.
첨자로 선택해 주시면 되겠죠.
document.getElementsByTagName("input")[0] 이나
첨자를 1로 바꾸면 둘 중 하나가 선택되겠네요.
document.getElementsByTagName("input") 하시면
태그 이름 'input'을 가진 Element들이 반환됩니다.
첨자로 선택해 주시면 되겠죠.
id 대신 name 으로 하면 웹표준에 부합되는거겠죠?
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<script>
var test = document.getElementsByName("test[]");
test[2].value = "까꿍!";
</script>
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<input name="test[]" type="text" />
<script>
var test = document.getElementsByName("test[]");
test[2].value = "까꿍!";
</script>
-
- Posts: 6
- Joined: 2003 12 17 21:40 58
저도 항상 이게 궁금했는데요,
저도 항상 이문제가 궁금했습니다.
ID가 Unique 해야 한다는 것은 프로그램짤때 상당한 애로 사항이 될거 같습니다.
JSP의 경우 동일한 name을 가진 input 요청을 한개의 배열로 생성해줍니다.
그런데 name을 사용할 수 없고, id만 써야하고 id는 unique해야 한다는 조건이 걸리게 되면 더이상 배열을 사용할 수 없게 되거든요..
이제 배열이 필요하면 어떻게 해야 하는걸까요?
ID가 Unique 해야 한다는 것은 프로그램짤때 상당한 애로 사항이 될거 같습니다.
JSP의 경우 동일한 name을 가진 input 요청을 한개의 배열로 생성해줍니다.
그런데 name을 사용할 수 없고, id만 써야하고 id는 unique해야 한다는 조건이 걸리게 되면 더이상 배열을 사용할 수 없게 되거든요..
이제 배열이 필요하면 어떻게 해야 하는걸까요?
-
- 해커
- Posts: 691
- Joined: 2004 08 11 22:14 59
- Contact:
selector는 id, name, class 가 될 수 있습니다.
이 중 name은 form control (input, select 등)에서는 사용해도 됩니다.
form control 이외에서 name은 depricated되었습니다.
현재까지의 해결책은,
getElementsByClass() - 구현되어있지 않으므로 만들어서 사용하시면 됩니다. - 또는 getElementsByAttribute() - 역시 미구현이므로 만들어두고 사용하세요. - 등을 쓰는 것입니다. prototype.js 같은 라이브러리를 쓰신다면 이름은 다르지만 같은 기능이 구현되어 있는 경우가 있으니 레퍼런스를 참고하시구요....
class나 attribute를 selector로 사용하는 것은 약간(?) 편법스럽긴 합니다만, XHTML 2.0에서는 name을 대신할 새로운 selector가 등장하니 좀 기다려야 하겠습니다.
이 중 name은 form control (input, select 등)에서는 사용해도 됩니다.
form control 이외에서 name은 depricated되었습니다.
현재까지의 해결책은,
getElementsByClass() - 구현되어있지 않으므로 만들어서 사용하시면 됩니다. - 또는 getElementsByAttribute() - 역시 미구현이므로 만들어두고 사용하세요. - 등을 쓰는 것입니다. prototype.js 같은 라이브러리를 쓰신다면 이름은 다르지만 같은 기능이 구현되어 있는 경우가 있으니 레퍼런스를 참고하시구요....
class나 attribute를 selector로 사용하는 것은 약간(?) 편법스럽긴 합니다만, XHTML 2.0에서는 name을 대신할 새로운 selector가 등장하니 좀 기다려야 하겠습니다.
Who is online
Users browsing this forum: No registered users and 3 guests