jquery의 each 와 clone ㅡ,.ㅜ > 자유게시판

자유게시판

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>
했는데 안열리네요 -_-;;

오늘 오후 내내 삽질하다가 글 올려봅니다 ㅠ.ㅠ
추천
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>
$(".dialogview").click(function(){
            $(this).next(".dialog").dialog("open");
            return false;
});

두번째줄 .dialog("open"); 이게 뜻하는게 뭔지요?
p까지 포함하면 clone 해버리면 됩니다.

$('ul > li').each(function(){
  $(this).children('div.dialog').html($(this).children('p').clone());
});

jquery ui dailog는 안써봐서 모르겠네요ㅎㅎ
© SIRSOFT
현재 페이지 제일 처음으로