0

こんにちは私の兄弟の開発者、jquery で attr を変更するのに助けが必要です。いくつかの情報と写真を含むアパートのリストがあり、アパート名をクリックした後にそれらの情報を変更したいと思います。私は完全に機能する関数を書きましたが、一度しか機能しません2回目のクリックで発生します。足りないものはありますか??

HTML

<!-- apartments list -->

<li id="lokal_01">rzut</li>
<li id="lokal_02">rzut</li>
<li id="lokal_03">rzut</li>
<li id="lokal_04">rzut</li>

<!-- container of informations -->

    <div id="oferta_lokal_" class="szczegoly">
        <div class="close" title="zamknij"></div>
        <div class="pdf"><a href="" onclick="this.target='_blank'"></a></div>
        <div class="potoki-logo">potoki Residence mokotów</div>
        <div class="liquid-slider"  id="slider_lokal_">
            <div><h2 class="title">Rzut</h2><img class="rzut" src=""></div>
            <div><h2 class="title">Lokalizacja</h2><img class="lokalizacja" src=""></div>
        </div>
    </div>

Jクエリ

$.each(['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'], function (index, value) {
        $('#lokal_' + value).on('click', function(){

            $('#oferta_lokal_').attr('id','oferta_lokal_'+value);
            $('#slider_lokal_-wrapper').attr('id','slider_lokal_'+value+'-wrapper');
            $('.pdf a').attr('href','img/rzuty/lokal_'+value+'.pdf');
            $('#slider_lokal_').attr('id','slider_lokal_'+value);
            $('img.rzut').attr('src','img/rzuty/lokal_'+value+'_rzut.jpg');
            $('img.lokalizacja').attr('src','img/rzuty/lokal_'+value+'_lokalizacja.jpg');

            $('#oferta_lokal_' + value).show();
        });
    });
4

1 に答える 1

2

属性を変更してid選択できなくなったため:

$("#oferta_lokal_").attr("id", "oferta_lokal_" + value)

は現時点で#oferta_lokal_は存在しないため、再度クリックしても見つかりません。なぜIDを変更する必要があるのか​​ わかりませんが、そうするのは避けたいと思います. 代わりに、クラスを追加/トグルするか、データセット属性を使用します ( .data("id", value))

于 2013-07-19T11:41:35.863 に答える