2012-11-18 1 views
0

는, I는 HTML 블록 가지고 자바 스크립트를 이용하여 삽입 할 수있는 이러한 HTML 블록반복적으로 생성 된 html 블록에서 id를 사용하여 요소를 탐색합니까? 예를 들어

<div class="span3"> 
    <div class="firstDiv"></div> 
</div> 
<div class="span3"> 
    <div class="secondDiv"></div> 
</div> 

복제본이므로 I 잇달아 이들 블록의 수가 많다.

나는이 요소들을 모두 다루기 위해이 요소들에 ID를 두는 것이 표준/효율적인 방법 일 수 있는지에 대한 관점을 듣고 싶습니다. 내가 좋아하는 생성 요소에 접미사를 일치하는 고유 ID를 넣을 수있는 좋은 방법이 있습니다

... 
    <div class="span3"> 
    <div id="firstDiv_154 class="firstDiv""></div> 
    </div> 
    <div class="span3"> 
    <div id="secondDiv_154 class="secondDiv""></div> 
    </div> 

    <div class="span3"> 
    <div id="firstDiv_155 class="firstDiv""></div> 
    </div> 
    <div class="span3"> 
    <div id="secondDiv_155" class="secondDiv"></div> 
    </div> 
    ... 

그럼 난 내가 할 단지 수있는 세트의 firstDiv을 클릭했을 때 secondDiv에 뭔가를 할 수있는 일반적인 규칙, 같은 :

$('.firstDiv').on ('click', function(evt) { 
    var idToFind = $(evt.target).attr('id').replace(/firstDiv/, /#secondDiv/) 
    var $secondDiv = $(idToFind); 
    // do something with $secondDiv 
}); 

효율적인 방법으로 이드를 사용할 수 있습니까?

아이디의를 사용하지 않는 경우에, 나는 jQuery를 사용할 수 있습니다 내가 처음에서 두 번째 요소를 찾으려면

을 : 나는 너무 많은 요소를 재 배열하면 끊을

$('.firstDiv').parent().next().children() 

, 또는

$('.firstDiv').closest('.span3').find('.secondDiv') 

보다 강력하지만 첫 번째 jQuery 메서드보다 리소스 집약적 인 경향이 있습니다.

당신은 (경험이 풍부한 웹 개발자, 제발) 다음 중 어떤 방법을 권장합니까?

답변

0

달성하려는 목표에 따라 다릅니다. 요소를 고유하게 식별 할 수있는 방법이 필요하고 현재 설정에 다른 방법이 없으면 고유 ID를 사용하는 것이 좋습니다.

+0

안녕 Yatrix, 나는 'firstDiv'에서 'secondDiv'를 한 번만 찾을 계획이지만 수천 개의 반복 div가있을 수 있으며 가장 효율적인 방법이 필요할 때 일반적인 경우를 묻습니다. 나는이 모든 것에 익숙하지 않기 때문에, id를 사용하여 찾기의 효율성에 대한 설명을 원하거나 find()와 같은 jquery 함수를 사용하여 찾길 바란다. 감사. – kdavh

+0

나는 이드를 붙들고 싶다. find()에서는 DOM을 파싱하여 실행중인 요소의 하위 집합을 가져와야합니다. 그래서 DOM을 파싱하고 결과를 파싱합니다. – Yatrix