0

同じクラスの複数の div を含むページがあります。モーダル ウィンドウを開き、モーダルに JSON/動的コンテンツを入力したいと考えています。そのためには、getJson ステートメントで使用する正しい URL を取得する必要があります。したがって、次のように複数の製品を含むページがあります。

HTML

<div class="product" style="opacity: 1;">
   <a title="product" **href="url-to-product.com"**>..................</a>
   <h3><a href="url-to-product.com">Blabla</a></h3>
   <div class="button opener">...</div>
</div>
<div class="product" style="opacity: 1;">
   <a title="product" **href="other-url-to-product.com"**>..................</a>
   <h3><a href="other-url-to-product.com">Blabla</a></h3>
   <div class="button opener">...</div>
</div> 

ボタンをクリックすると、モーダルがポップアップします。次に、そのモーダルにコンテンツを入力します。したがって、** ** の間に href 値が必要です。現在クリックされている製品のオフコースからの 1 つだけ。だから私が持っているのはこれです:

Jクエリ

 $(".opener").live("click", function(event) {
     event.preventDefault();
          $.get($(this).attr('href'), function(data, status) {
            $("#dialog").dialog("open");

            var url = $(this).find('h3 > a').attr('href'); 

// これは機能せず、上記のように href からの値である必要があります

            $.getJSON(url, function(data) {                          
              $.each(data.product, function(index, product){ 
              ......... etc .......
4

2 に答える 2

0

セレクターを使用siblings()して、div 要素の兄弟を取得できます。

var url = $(this).siblings('a').attr('href');

また

var url = $(this).siblings('h3').children('a').attr('href');
于 2013-07-03T09:31:46.633 に答える
0

からではなく、hrefhte から属性を使用してデータを取得しようとしています。div.opener.product > a

このコードを試してください:

$(".opener").live("click", function(event) {
    event.preventDefault();
    var url = $(this).parents('.product').find(' > a').attr('href');

    // do whatever you need using the url you wanted to get
}
于 2013-07-03T09:32:38.653 に答える