jquery의 each 와 clone ㅡ,.ㅜ 정보
jquery의 each 와 clone ㅡ,.ㅜ
본문
마땅히 스크립트 관련한 질문글을 올릴만한 곳을 찾지 못해서 자유로운 게시판에 ^-^
<ul>
<li>내용<p>내용</p><div class="dialog"></div></li>
<li>내용<p>내용</p><div class="dialog"></div></li>
</ul>
여기서 <p>내용</p> 을 clone()를 이용해서 <div class="dialog"></div> 안에 복사하려 합니다.
<p>내용</p>은 각각 다르기 때문에
$(".ul li").each(function(){
$(this + 'p').clone().appendTo(this + '.dialog');
});
요렇게 해줬습니다.
근데 왜 제대로 복사가 안될까요 ㅡ,.ㅜ
게다가 jQuery UI 중 dialog()를 같은 class로 호출해서 쓰려고
$(".dialogview").click(function(){
$(this).next(".dialog").dialog("open");
return false;
});
이렇게 해주고
<a href="" class="dialogview">다얄로구열기</a>
<div class="dialog"></div>
했는데 안열리네요 -_-;;
오늘 오후 내내 삽질하다가 글 올려봅니다 ㅠ.ㅠ
<ul>
<li>내용<p>내용</p><div class="dialog"></div></li>
<li>내용<p>내용</p><div class="dialog"></div></li>
</ul>
여기서 <p>내용</p> 을 clone()를 이용해서 <div class="dialog"></div> 안에 복사하려 합니다.
<p>내용</p>은 각각 다르기 때문에
$(".ul li").each(function(){
$(this + 'p').clone().appendTo(this + '.dialog');
});
요렇게 해줬습니다.
근데 왜 제대로 복사가 안될까요 ㅡ,.ㅜ
게다가 jQuery UI 중 dialog()를 같은 class로 호출해서 쓰려고
$(".dialogview").click(function(){
$(this).next(".dialog").dialog("open");
return false;
});
이렇게 해주고
<a href="" class="dialogview">다얄로구열기</a>
<div class="dialog"></div>
했는데 안열리네요 -_-;;
오늘 오후 내내 삽질하다가 글 올려봅니다 ㅠ.ㅠ
추천
0
0
댓글 7개

p 안에 내용만 복사하는 것인지, p까지 포함해서 하는 것인지는 모르겠지만, 내용만 복사한다는 가정하에..
$('ul > li').each(function(){
$(this).children('div.dialog').html($(this).children('p').html());
});
이렇게하면 아래와 같이 완성이 되겠지요.
<ul>
<li>내용<p>내용</p><div class="dialog">내용</div></li>
<li>내용<p>내용</p><div class="dialog">내용</div></li>
</ul>
$('ul > li').each(function(){
$(this).children('div.dialog').html($(this).children('p').html());
});
이렇게하면 아래와 같이 완성이 되겠지요.
<ul>
<li>내용<p>내용</p><div class="dialog">내용</div></li>
<li>내용<p>내용</p><div class="dialog">내용</div></li>
</ul>

p까지 같이 넣어야 합니다 ㅠ.ㅠ

$(".ul li").each(function(){
$(this + 'p').clone().appendTo(this + '.dialog');
});
.ul 때문은 아니겠죠?
$(this + 'p').clone().appendTo(this + '.dialog');
});
.ul 때문은 아니겠죠?

.ul 때문은 아닙니다 ^-^ 선택자로 엘리먼트인 ul을 지정한 것 입니다.

$(".dialogview").click(function(){
$(this).next(".dialog").dialog("open");
return false;
});
두번째줄 .dialog("open"); 이게 뜻하는게 뭔지요?
$(this).next(".dialog").dialog("open");
return false;
});
두번째줄 .dialog("open"); 이게 뜻하는게 뭔지요?

.dialog("open"); 이건 jQuery UI 중 dialog를 여는 겁니다 ^-^

p까지 포함하면 clone 해버리면 됩니다.
$('ul > li').each(function(){
$(this).children('div.dialog').html($(this).children('p').clone());
});
jquery ui dailog는 안써봐서 모르겠네요ㅎㅎ
$('ul > li').each(function(){
$(this).children('div.dialog').html($(this).children('p').clone());
});
jquery ui dailog는 안써봐서 모르겠네요ㅎㅎ