2010-08-10 4 views
1

텍스트 입력 및 일부 "자리 표시 자"가 포함 된 JavaScript가 있습니다. 스크립트는 일부 자리 표시 자에서 텍스트 입력에 입력 된 값을 표시하는 함수를 사용합니다. 문제는, 모든 단일 자리 표시 자에 ID를 할당해야한다면, 중복을 피하고 반복을 피하는 것이 바람직하다고 생각합니다. DRY여러 개의 "자리 표시 자 요소"에 ID 할당

제 질문은 : 어떻게하면 (자바 스크립트 사용) 할 수 있습니까? 자동으로 "모든 스팬에서 동일한 문자열을 포함하는 ID가 특정 <div> -tag 내부의 모든 <span> -tags, 그리고 다른 정수를 할당 FX :

<div id="foo1"> //assign inside this div 
<span id="placeholder1"></span> 
<span id="placeholder2"></span> 
<span id="placeholder3"></span> 
</div> 
<span id="foo2"></span> //this is not assigned, it is outside the "foo1"-<div> 

나는 그것이 수행 할 수 있습니다 확신 해요 그건 DOM이라고 불리는가? 잘 모르겠어요하지만,이 같은 :

window.onload = function(){ 
    var foo = new Array(); 
} 

등 : 스크립트

, 내가 사용하고, this post에서 볼 수 있으며, 해당 게시물에서 당신은 왜 사용하지 않는 볼 수 있습니다 대신이 일을 document.getElementsByName("foo") 여러 요소를 선택하고 왜 인도를 요구하고 :)을위한 "(내가 ... VAR"모든 브라우저에서 작동하지만, 나머지는 어떤에서 작동할지 여부를

+0

jquery를 사용하면 이러한 상황에서 평생을 구할 수 있습니다. –

답변

2
function nameElements(div_name, prefix) 
{ 
    var div_elem = document.getElementById(div_name); 
    var spans = div_elem.getElementsByTagName('span'); 
    for (var i = 0; i < spans.length; ++i) 
    { 
     spans[i].id = prefix + (i+1); 
    } 
} 

확실하지 않음 DOM 호환 브라우저

+0

V 에리 좋은 반응, 고마워. – Latze