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”类的元素只有一个回调。

$(".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
$(".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 回答
0

.replace()接受正则表达式,因此您可以执行以下操作:

this.id.replace(/c_[0-9]{1,2}_/, "");
于 2012-08-14T09:01:24.247 回答