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

jquery의 each 와 clone ㅡ,.ㅜ

· 14년 전 · 3303 · 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는 안써봐서 모르겠네요ㅎㅎ

게시글 목록

번호 제목
1717252
1717247
1717243
1717237
1717225
1717214
1717208
1717203
1717189
1717183
1717177
1717172
1717163
1717162
1717156
1717154
1717153
1717141
1717140
1717138
1717113
1717111
1717105
1717099
1717085
1717076
1717072
1717065
1717062
1717050