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

jquery의 each 와 clone ㅡ,.ㅜ

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

게시글 목록

번호 제목
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495
1717479
1717473
1717470
1717463
1717452