Учитывая следующую структуру:

<table class="myTable">

    <tr>
        <td class="block.productgrid.quickview.cell">
            <a class="myLink">My Link</a>
        </td>
    </tr>


    <tr>
        <td>
            <div class="contentsForColorbox">
                Some contents
            </div>
        </td>
    </tr>

</table>

... где у меня было бы несколько таких таблиц myTable, как я могу соединить щелчок по myLink с отображением contentForColorbox в палитре цветов?

Я думаю, что близок, но что-то упускаю:

$( '.myLink', this).click( function(){
    $.colorbox({
        inline : true,
        'href': $( '.contentsForColorbox') ,
        'width': 500,
        'height': 350
    });
});

... на данный момент, если у меня есть 5 таблиц, 5 из «contentsForColorbox» будут отображаться в палитре цветов. Вздох, слишком длинный день :-(

0
vector 20 Сен 2013 в 06:44

1 ответ

Лучший ответ

Проблема заключается в используемом селекторе - $( '.contentsForColorbox'), он нацелен на все элементы с заданным классом, вместо этого вам нужно найти цель относительно нажатой ссылки.

$( '.myLink', this).click( function(){
    $.colorbox({
        inline : true,
        'href': $(this).closest('table').find('.contentsForColorbox') ,
        'width': 500,
        'height': 350
    });
});

Демонстрация: Fiddle

1
Arun P Johny 20 Сен 2013 в 06:55
Я думаю, это БИНГО! Спасибо!
 – 
vector
20 Сен 2013 в 07:36