0

14個の同様の機能があり、それらの機能が相互に作用するため、それらを組み合わせる必要があります。助けてください

$(".mieszkanie").click(function() {
        var num = this.id.replace(/c_07_/, "").substr(0, 3);
        $('.pdf').attr({ 
            href: "img/rzuty/mieszkania/pietro07rzuty/" + num + ".pdf"
        });
        $('.karta img').attr({ 
            src: "img/rzuty/mieszkania/pietro07rzuty/" + num + ".png",
            alt: "mieszkanie" + num
        });
    });

$(".mieszkanie").click(function() {
        var num = this.id.replace(/c_10_/, "").substr(0, 3);
        $('.pdf').attr({ 
            href: "img/rzuty/mieszkania/pietro10rzuty/" + num + ".pdf"
        });
        $('.karta img').attr({ 
            src: "img/rzuty/mieszkania/pietro10rzuty/" + num + ".png",
            alt: "mieszkanie" + num
        });
    });

HTML

<div id="div10p" class="okno clearfix rzutyWraper">
        <h2>RZUT 10 PIĘTRA</h2> 
        <div id="rzuty10p" class="rzuty">
            <span id="c_10_248" class="mieszkanie" title=""></span>
            <span id="c_10_247" class="mieszkanie" title=""></span>
            <span id="c_10_249" class="mieszkanie" title=""></span>
            <span id="c_10_250" class="mieszkanie" title=""></span>
            <span id="c_10_252" class="mieszkanie" title=""></span>
            <span id="c_10_251a" class="mieszkanie" title=""></span>
            <span id="c_10_251b" class="mieszkanie" title=""></span>
        </div>      
        <div class="karta">
            <div class="kartaPanel">
                <button class="close">zamknij</button>
                <a class="pdf" href="" onclick="this.target='_blank'">pobierz</a>
            </div>
            <img src="" alt="mieszkanie" />
        </div>
    </div>


    <!-- PIETRO 07 -->
    <div id="div07p" class="okno clearfix rzutyWraper">
        <h2>RZUT 7 PIĘTRA</h2> 
        <div id="rzuty07p" class="rzuty">
            <span id="c_07_001" class="mieszkanie" title=""></span>
            <span id="c_07_002a" class="mieszkanie" title=""></span>
            <span id="c_07_002b" class="mieszkanie" title=""></span>
            <span id="c_07_003" class="mieszkanie" title=""></span>
            <span id="c_07_004" class="mieszkanie" title=""></span>
            <span id="c_07_005" class="mieszkanie" title=""></span>
            <span id="c_07_006a" class="mieszkanie" title=""></span>
            <span id="c_07_006b" class="mieszkanie" title=""></span>
            <span id="c_07_008" class="mieszkanie" title=""></span>
        </div>      
        <div class="karta">
            <div class="kartaPanel">
                <button class="close">zamknij</button>
                <a class="pdf" href="" onclick="this.target='_blank'">pobierz</a>
            </div>
            <img src="" alt="mieszkanie" />
        </div>
    </div>
4

3 に答える 3

1

この正規表現を確認してください。

/.+_(\d+)_(.+)/.exec('c_10_249');

結果は

["c_10_249", "10", "249"]

そして、「mieszkanie」クラスを持つ要素ごとに 1 つのコールバックのみ。

$(".mieszkanie").click(function() {
    var nums =  /._(\d+)_(.+)/.exec( this.id );
        var num2 = nums[2].substr(0, 3);
    $('.pdf').attr({ 
        href: "img/rzuty/mieszkania/pietro"+nums[1]+"rzuty/" + num2 + ".pdf"
    });
    $('.karta img').attr({ 
        src: "img/rzuty/mieszkania/pietro"+nums[1]+"rzuty/" + num2 + ".png",
        alt: "mieszkanie " + num2
    });
});
于 2012-08-14T09:04:34.933 に答える
0

.replace()正規表現を取るので、次のようなことができます:

this.id.replace(/c_[0-9]{1,2}_/, "");
于 2012-08-14T09:01:24.247 に答える
0
$(".mieszkanie").click(function() {
        var num = this.id.substr(5, 8);
        $('.pdf').attr({ 
            href: "img/rzuty/mieszkania/pietro07rzuty/" + num + ".pdf"
        });
        $('.karta img').attr({ 
            src: "img/rzuty/mieszkania/pietro07rzuty/" + num + ".png",
            alt: "mieszkanie" + num
        });
    });

HTML に基づいて、HTML に一貫性がある場合、正規表現は必要なく、これで十分です。

于 2012-08-14T09:00:46.063 に答える