これは小さな問題かもしれませんが、私はそれを理解することができないので、助けてください. 以下のコードには、テキストエリアとボタンがあります。ボタンの div は、最初は display:none に設定されています。テキストエリアをクリックすると拡大し、ボタンの div が表示されます。 DUPLICATE という名前のリンクがあり、クリックすると同様のテキストエリアとボタンのセットがメイン div に追加されます。ここでの問題は、複数の textarea がある場合の問題です。jquery のクリック関数は、元の textarea でのみ機能し、他のテキストエリアでは機能しません。また、関数の効果はすべてのテキストエリアに反映されます。つまり、すべてのテキストエリアが拡大され、ボタンが表示されます。クリックした特定のテキストエリアだけを拡大して対応するボタンを表示したい。動的 ID の割り当て'
<script type="text/javascript">
$(document).ready(function(){
test={
btn:function(){
$(this).css("height","100px");
$(this).parent().siblings(".btn").css("display","block");
},
duplicate:function(e){
e.preventDefault();
$(".main").append('<div class="child"><textarea name="text" class="text" id="text"></textarea></div><div class="btn"><input type="button" value="Button" /></div>');
}
}
$("#text").click(test.btn);
$("#duplicate").click(test.duplicate);
});
</script>
<style type="text/css">
.btn
{
display:none;
}
</style>
</head>
<body>
<div class="main">
<a href="#" id="duplicate">DUPLICATE</a>
<div class="child">
<textarea name="text" class="text" id="text"></textarea>
</div>
<div class="btn">
<input type="button" value="Button" />
</div>
</div>
</body>
</html>