테스트 사이트 - 개발 중인 베타 버전입니다

jquery의 each 와 clone ㅡ,.ㅜ

· 14년 전 · 3304 · 7
마땅히 스크립트 관련한 질문글을 올릴만한 곳을 찾지 못해서 자유로운 게시판에 ^-^

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

오늘 오후 내내 삽질하다가 글 올려봅니다 ㅠ.ㅠ

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 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>
p까지 같이 넣어야 합니다 ㅠ.ㅠ
14년 전
$(".ul li").each(function(){
$(this + 'p').clone().appendTo(this + '.dialog');
});

.ul 때문은 아니겠죠?
.ul 때문은 아닙니다 ^-^ 선택자로 엘리먼트인 ul을 지정한 것 입니다.
14년 전
$(".dialogview").click(function(){
$(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는 안써봐서 모르겠네요ㅎㅎ

게시글 목록

번호 제목
1717042
1717041
1717036
1717025
1717024
1717016
1717014
1717006
1717004
1716995
1716986
1716982
1716978
1716974
1716968
1716966
1716952
1716945
1716934
1716926
1716920
1716915
1716914
1716912
1716906
1716903
1716902
1716899
1716894
1716892