0

我想用 jQuery 获取图像的 src 属性。在下面的代码中,如果我不在divorli等​​中包装图像,那么它可以正常工作,但是如果我更改 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 回答