0

問題があります:簡単にするためにdivでクラスを使用しています。クリックした後に非表示のdivを表示したいのですが、そのdivでのみ、問題はすべてのdivで表示され、取得できないようです。動作中、ここに問題のあるjsfiddleがあります:http://jsfiddle.net/cWNvT/

HTML:

<div class="left">
    <a href="#" class="edit-click">Edit</a>
    <div class="edit">
        <p>edit here</p>
    </div>
</div>
<div class="left">
    <a href="#" class="edit-click">Edit</a>
    <div class="edit">
        <p>edit here</p>
    </div>
</div>
<div class="left">
    <a href="#" class="edit-click">Edit</a>
    <div class="edit">
        <p>edit here</p>
    </div>
</div>

JavaScript:

$(document).ready(function() {
    $('.edit').hide();
    $('.left a.edit-click').click(function() {
        $('.left').children().show();
    });
});​

誰もがこれに対する解決策を持っていますか?

4

3 に答える 3

2

この作業フィドルを試してください。

$(document).ready(function() {
 $('.edit').hide();
 $('.left a.edit-click').click(function(){
    $(this).parent().children().show();
 });
});

私が行ったのは、セレクターを使用する$(this).parent()代わりに使用することだけです。$(".left")

于 2012-08-24T09:39:51.727 に答える
1

クリックされた要素の親のみを見つけ、その子を使用してみてください。

http://jsfiddle.net/cWNvT/1/

$(document).ready(function() {
   $('.edit').hide();
   $('.left a.edit-click').click(function(){
       $(this).closest(".left").children().show();
   });
 });
​

$(".left")ドキュメント内のクラスを持つすべての要素を選択し.leftます。$(this).closest(".left")class を持つクリックされたリンクの最初の親を見つけます.left

于 2012-08-24T09:38:54.973 に答える
1

コードを次のように変更します。

$('.left a.edit-click').click(function(){
    $(this).next('.edit').show();
});

http://jsfiddle.net/cWNvT/3/

于 2012-08-24T09:40:47.180 に答える