1

私は複数のインスタンスを持っています

<div class="picOuterDiv">
   <a href="examplepage.php?var=1" class="iframe" > page one </a>
</div>

<div class="picOuterDiv">
   <a href="examplepage.php?var=2" class="iframe" > page two </a>
</div>

現在、jQueryカラーボックスプラグインを使用してライトボックスを作成しています。アンカー要素、クラスiframeのアンカー要素をクリックするとlightBoxが開きます。ここまでは問題なく動作します

$(".iframe").colorbox({iframe:true, width:"646", height:"675"});

親divをクリックしたときにカラーボックスを開く必要があります。次のコードを使用して、divがクリックされたときにアンカー要素hrefをトリガーしましたが、明らかにhrefだけでは不十分であり、クリックされた要素のクラスは「iframe」である必要があります。したがって、このコードでは機能しません。

$('.picOuterDiv').each(function(){
        $(this).on('click', function(){
            location.href = $(this).find('a').attr('href');
        });
});

それで、誰かが私がこの仕事をする方法について私を助けることができますか?問題が明確であることを願っています。前もって感謝します。

更新: http: //jsfiddle.net/VhkFN/3/

4

2 に答える 2

6
$('.picOuterDiv').click(function() {
   window.location.href=$(this).find('a').attr('href');
});​

あなたのフィドルにはいくつかの問題があります。最初の「var arr[]」が正しくありません。次に、ハイパーリンクにはonclickプロパティがないため、クリックをトリガーしてもあまり効果がありません。代わりに、その href 属性を取得する必要があります。

デモ: http://jsfiddle.net/VhkFN/4/

于 2012-11-26T22:55:49.920 に答える
0

これが私にとってうまくいったことでした。私が言ったように、私はjqueryカラーボックスを使用していました。

$(".picOuterDiv").click(function () {
   var anchorHref = $(this).find('a').attr('href');
   $(this).colorbox ({iframe:true, width:"646", height:"675", href: anchorHref});
});
于 2012-11-27T11:45:32.460 に答える