0

私のHTML構造は次のようなものです:

    <div class="product-slider-title">
        <div><span class="left">&nbsp;</span></div>
        <div>Sample title</div>
        <div><span class="right">&nbsp;</span></div>
    </div>
    <div id="prslider1" class="product-slider-wrapper">
        <div class="left-prduct-slider-nav sprites"></div>
        <div class="right-prduct-slider-nav sprites"></div>    
        <div class="product-slider">
            <ul>
                <li class="product-holder"></li>
            </ul>
        </div>
     </div>

をクリックしたときに最も近い.product-slider ulものを見つけるにはどうすればよいですか?.left-prduct-slider-nav.left-prduct-slider-nav

4

7 に答える 7

3

もしそうthisなら.left-prduct-slider-nav

var ul = $(this).siblings('.product-slider').find('ul')

デモ:フィドル

于 2013-07-10T12:53:31.627 に答える
0

試してくださいfirst-child

HTML:

<div class="product-slider-title">
    <div><span class="left">&nbsp;</span>

    </div>
    <div>Sample title</div>
    <div><span class="right">&nbsp;</span>

    </div>
</div>
<div id="prslider1" class="product-slider-wrapper">
    <div class="left-prduct-slider-nav sprites">Left Slider Nav</div>
    <div class="right-prduct-slider-nav sprites"></div>
    <div class="product-slider">
        <ul>
            <li class="product-holder1"></li>
        </ul>
        <ul>
            <li class="product-holder"></li>
        </ul>
        <ul>
            <li class="product-holder"></li>
        </ul>
        <ul>
            <li class="product-holder"></li>
        </ul>
    </div>
</div>
<div class="product-slider-title">
    <div><span class="left">&nbsp;</span>

    </div>
    <div>Sample title</div>
    <div><span class="right">&nbsp;</span>

    </div>
</div>
<div id="prslider1" class="product-slider-wrapper">
    <div class="left-prduct-slider-nav sprites"></div>
    <div class="right-prduct-slider-nav sprites"></div>
    <div class="product-slider">
        <ul>
            <li class="product-holder"></li>
        </ul>
    </div>
</div>

JS:

$(document).ready(function () {
    $(".left-prduct-slider-nav").click(function () {
        alert($(".product-slider").find("ul:first-child").find("li").prop("class"));
    });
});

jsFiddle.

説明:

.click()私は の機能を処理し、最も近いもの、つまり最初の の li.left-prduct-slider-navを警告します。classul:first-child

証拠:

証拠はclass、最初ulのを変更し、li次にalert()それを変更したことです。次に、得られる出力は次のとおりproduct-holder1です。

于 2013-07-10T12:55:56.527 に答える
0

これはうまくいくはずです

var ul = $('.left-prduct-slider-nav').closest('ul');
于 2013-07-10T12:55:08.310 に答える
0

うーん、これを試してください:

$('.left-prduct-slider-nav').click(function () {
    var closest_ul = $(this).parent().find('.product-holder ul');
});
于 2013-07-10T12:55:19.383 に答える
0

最も近い.product-slider ulfrom.left-prduct-slider-navはリストの最初のものなので、次を使用できます:first

$('.left-prduct-slider-nav').click(function() {

    $(this).parent().find('.product-slider ul:first')

})
于 2013-07-10T13:03:15.523 に答える
-1

これを試して:

$(this).next().next().find('ul');
于 2013-07-10T13:01:06.727 に答える