リンクをクリックして、コンテンツのリスト内でコンテンツの 2 つのブロックを切り替えて、基本的にコンテンツの表示からコンテンツの編集に移行したいと考えています。
次のコードの断片があります。
<style type="text/css">
div.show {display:block;}
input.hide {display:none;}
</style>
<script type="text/javascript">
$(document).ready(function(){
$('#d-01').on('click', function() {
$('#d-01-on').toggle();
$('#d-01-off').toggle();
$('#d-01-off').focus();
});
$('#d-02').on('click', function() {
$('#d-02-on').toggle();
$('#d-02-off').toggle();
$('#d-02-off').focus();
});
$('#d-99').on('click', function() {
$('#d-99-on').toggle();
$('#d-99-off').toggle();
$('#d-99-off').focus();
});
})
</script>
<a href="#" id="d-01">edit</a>
<div class="show" id="d-01-on">Some content</div>
<input class="hide" id="d-01-off" name="d-01" value="Some content" />
<a href="#" id="d-02">edit</a>
<div class="show" id="d-02-on">Some content</div>
<input class="hide" id="d-02-off" name="d-02" value="Some content" />
<a href="#" id="d-99">edit</a>
<div class="show" id="d-99-on">Some content</div>
<input class="hide" id="d-99-off" name="d-99" value="Some content" />
これは機能しますが、jquery/javascript コードをより動的にし、ハードコーディングしないようにしたいと考えています。MySQL テーブルの行は時間の経過とともに大きくなり、スクリプトを編集し続ける必要はありません。
個別の冗長な ID を作成するのではなく、ID を動的に処理するように jquery コードを書き直すことは可能on('click', function()
ですか?
助けてくれてありがとう。
[この問題に対する私の最初の質問については、jQuery でトグルする方法を参照してください]