-1

我正在尝试使用名为Slides的幻灯片插件在通过 jQuery AJAX 请求加载元素后在元素中加载幻灯片。经过多次争论,插件触发了,但查看检查器,看起来插件正在为幻灯片中的每个图像触发,因为插件生成了太多的导航元素。

$('a').click(function(){    
    var location = $(this).find('a').attr("href");
    $(this).find('a').removeAttr('href');           
    $("section").animate({height: 0, opacity: 0}, 500, "swing", function (){
        $(this).css('height','auto').load(location + " .container", function(){
            $('section').find('img').load(function(){
                $('#slides').slides();
                var newHeight = $('section').height();
                $('section').animate({height: newHeight, opacity: 1}, 500, "swing");
            })
        })              
    })
})

我意识到 SE 不支持 Slides.js,但我感觉在这种情况下我没有正确使用 jQuery。

4

1 回答 1

0

这对于评论来说太长了,但我并不认为这是一个正确的答案:

您正在寻找所有带有 的锚标签,$('a')然后在它们内部查找带有 的其他锚标签.find('a'),然后删除它们的 href 值。我不明白这意味着什么。开始“设置”阶段所做的所有事情都是这样的:

<a href="/something">Click me</a> <!-- this is the one listening for the click -->
  <a href="/somethingElse">A link</a>
</a>

并将其变成这样:

<a href="/something">Click me</a>
  <a>A link</a>
</a>

没有 href 的锚标签无效,但大多数浏览器应该原谅你。但我就是不明白为什么要这样做?为什么用包装锚而不是内部锚来听?为什么有一个锚点包裹着一个锚点?

当然,查看标记会很有用。

于 2012-04-08T00:35:37.583 回答