2012-12-20 2 views
0

콘텐츠를 가져 와서 동일한 ID를 가진 다른 div에 배치하려는 여러 div가 있습니다. 여기 내 예를 한 div의 콘텐츠를 다른 div의 내부에 추가하면 작동하지 않음

<!-- Div to get content from --> 
<div id="sharedContent"> 
    <div id="testContent"> 
     <p>Here is some content</p> 
    </div> 

    <div id="testContent2"> 
     <p>Here is some second content</p> 
    </div> 
</div> 

<!-- Divs to put content in --> 
<div id="testContent" class="shared"> 
    test content 
</div>​ 

<div id="testContent2" class="shared"> 
    test content2 
</div>​ 

HTML

그리고 heres는 내 jQuery의 :

var contentID = ('#' + $(this).attr('id')); 
var sharedContent = $('#sharedContent' + ' ' + contentID).html(); 

$('div.shared').each(function(){ 
    $(contentID).html(sharedContent); 
}); 

Howoever는,이 작동하지 않습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

2

ID는 한 번만 사용할 수 있으므로 문제가 있다고 생각합니다. 이 fiddle을 보면 문제가 해결됩니다. 여기

<!-- Div to get content from --> 
<div id="sharedContent"> 
    <div id="testContent"> 
     <p>Here is some content</p> 
    </div> 

    <div id="testContent2"> 
     <p>Here is some second content</p> 
    </div> 
</div> 

<!-- Divs to put content in --> 
<div data-id="testContent" class="shared"> 
</div> 

<div data-id="testContent2" class="shared"> 
</div>​ 

는 jQuery 코드이다 : 여기서

는 HTML이고

$('div.shared').each(function() { 
    var sharedContent = $('#'+$(this).attr('data-id')).html(); 
    $(this).html(sharedContent); 
});​ 
+0

... 데이터 ID? 재미있는. 나는 ID일지도 모르지만. 당신의 도움을 주셔서 감사합니다! 내가 필요한 것. – trobbins26

+0

data-id는 콘텐츠를 가져 오려는 소스의 ID입니다. data- * attributes는 데이터를 DOM 요소에 임베드 할 수있는 HTML5 사양입니다. – Licson

+0

이것은 도움이되었고 제대로 작동하도록 만들었지 만이 방법은 IE7과 8에서 작동합니까? – trobbins26

관련 문제