0

jQueryで画像のsrc属性を取得したい。div次のコードでは、画像をorなどでラップしないliと正常に動作しますが、HTML マークアップを変更すると動作しません。

jQuery:

function setNavi( $c, $i ) {
    var title = $i.attr( 'alt' );
    $('#title').text( title );

    var $prev = ($i.is(':first-child')) ? $c.children().last() : $i.prev();
    var prev_link = $prev.attr('src').split('/large/').join('/small/');
    alert(prev_link);       /* test image src */

    var $next = $i.next();
    var next_link = $next.attr('src').split('/large/').join('/small/');
    alert(next_link);   /* test image src */
}

$(function() {
    $("#carousel").carouFredSel({
        items: 1,
        prev: '#prev',
        next: '#next',

        scroll: {
            onBefore: function( data ) {
            setNavi( $(this), data.items.visible );
        }
        },
        onCreate: function( data ) {
            setNavi( $(this), data.items );
        }
    });
});

これは機能します:

<div id="wrap">
    <img src="img/img1.jpg" alt="Alt text" / >
</div>

これは機能しません: 次の html で画像をラップすると、機能しません:

<div id="wrap">
<ul>
        <li>
            <div class="left">
                      <div class="image">
                          <img src="img/img1.jpg" alt="Alt text" / >
                       </div>
                 </div>
            <div class="right"><div class="text">some text</div></div>
        </li>
</ul>
    </div>
4

1 に答える 1

2

を使用しているためです.next()

.next代わりに使用する必要のあるnext要素がすべてではないことがわかります。child.find

于 2013-03-22T10:11:47.433 に答える