ID プレフィックスをセレクタとして使用してこれを行うことができますが、代わりにクラスで行う必要があります。同じページで異なるモーダル ウィンドウを開くための each 関数です。同じページに複数のリンクを持つモーダル ウィンドウがいくつかあり、ID を使用すると最初のリンクのみが機能するため、ID 名の使用を避ける必要があります。
IDで動作する関数は次のとおりです。
$('div[id^=ssfamodal-help-]').each(function() {
var sfx = this.id,
mdl = $(this),
lnk = $('.link-' + sfx),
cls = $('.ssfamodal-close'),
con = $('.ssfamodal-content');
lnk.click(function(){
mdl.show();
});
cls.click(function(){
mdl.hide();
});
mdl.click(function() {
mdl.hide();
});
con.click(function() {
return false;
});
});
代わりに、次のようにクラスに変更しようとしています。
$('div[class^=ssfamodal-help-]').each(function() {
var sfx = this.attr('class'),
etc.
しかし、ID を使用しないと機能しません。出来ますか?
編集Vars の末尾にあるセミコロンのエラーを修正し、Fiddle を修正して更新しました。それでも動作しません。
ここにフィドルがあります
** アップデート **
明確にするために、同じページで同じモーダルを複数回参照できるようにする必要があります。例えば:
モーダル 1
モーダル 2
モーダル 3
モーダル 4
モーダル 1 へのリンク
モーダル 2 へのリンク
モーダル 3 へのリンク
モーダル 4 へのリンク
他のもの
モーダル 1 へのリンク
モーダル 4 へのリンク
モーダル 3 へのリンク
他のもの
モーダル 2 へのリンク
等。