jQueryで要素をクローンしましたが、クローンされた要素の「x」をクリックするとこれを削除します。jQueryでクローンされた要素を削除できない
ここにありcodepenさ:http://codepen.io/emilychews/pen/YZGxWZ
私は(私が試した)関数の外で変数$ myCloneを返却する必要があるので、それが機能していない理由がある場合、私はうまくいかないことができ、または、ネストされた関数を持つmain関数の内部ですべてが必要な場合はどうすればいいですか?
jQueryは何らかの理由で、前に付いていた 'x'をクリックしてクローンされた要素を削除したり、前に付いた 'x'自体を認識しません。
$(document).ready(function() {
$('.holder').click(function() {
var $myClone = $(this).clone()
.appendTo(this)
.addClass('cloned')
.css({
position: 'absolute',
background: 'blue',
top: 0,
'z-index': 10,
left: 0
});
$($myClone).prepend('<div class="closeX">X</div>');
$('.closeX').click(function() {
$($myClone).remove();
});
});
});
.wrapper {
width: 100%;
height: 100%;
}
.holder {
width: 20vw;
height: 100px;
background: red;
position: relative;
margin-bottom: 5px;
display: inline-block;
transition: all .25s ease-out;
z-index: 0;
transform-origin: top left;
}
/*CSS for the prepended 'x' that shows on cloned element*/
.closeX {
position: absolute;
background: yellow;
top: 5px;
right: 5px;
width: 25px;
height: 25px;
line-height: 25px;
text-align: center;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="wrapper">
<div class="holder image1">Image 1</div>
<div class="holder image2">Image 2</div>
<div class="holder image3">Image 3</div>
<div class="holder image4">Image 4</div>
<div class="holder image5">Image 5</div>
</div>
ありがとう。それは本当に役に立ちました。 –