【问题标题】:Show image and then change link using jquery显示图像,然后使用 jquery 更改链接
【发布时间】:2012-03-07 22:42:13
【问题描述】:

几个小时的搜索仍然没有答案我能理解这个:我正在尝试添加一个链接,其 href 会根据选择的轮播中的哪个图像而改变(即选择一个图像,然后底部的链接会改变) .

通过使用类 opaque-fabric 更改当前图像显示的不透明度来选择当前图像:

        $('#current').ready(function() {
                        $("#carousel-2 img").click(function() {
                            $("#current img").removeClass("opaque-fabric");

                            var imageToShow = $(this).attr("id").replace("for-", "");
                            $("#current #"+imageToShow).addClass("opaque-fabric");

                            $("#carousel-2 img").removeClass("selected-fabric");
                            $(this).addClass("selected-fabric");            
                        });

                    });

然后在我的页面的“选择按钮”锚链接中更改href的结尾:

    $('.choose-button').ready(function() {
                            $("#carousel-2 img").click(function() {

                var button = $(this).attr('class');
                var currenthref = $(".choose-button").attr('href');
                $(".choose-button").attr('href', currenthref + button);


            });

        });

图像显示部分有效,但我似乎无法在按钮中附加 href。请帮忙,慢慢说(初学者)。

编辑Here's what I'm working with,在测试服务器上。

【问题讨论】:

  • 你能发布一些 HTML 和 CSS 代码吗?

标签: jquery dynamic jquery-selectors


【解决方案1】:

我似乎无法真正理解您的问题,但您有一些严重的错误。首先,您没有正确使用ready()。来自 jQ API:

.ready() 方法只能在匹配当前文档的 jQuery 对象上调用。

那么你应该使用attr() 而不是prop(),因为href 是一个属性,而不是一个属性。 此外,live() 已被弃用,取而代之的是 on()

【讨论】:

    【解决方案2】:

    jQuery 的 .append() 函数用于将 DOM 元素附加到其他 DOM 元素。如果要更新 href 属性,请使用语法

    var currenthref = $(".choose-button").prop('href');
    $(".choose-button").prop('href', currenthref + button);
    

    希望这会有所帮助!

    【讨论】:

    • 我按照你说的做了,并确保也定义了按钮变量,但我仍然无法更改按钮的 href——它只是保持不变。不过谢谢。我会尝试用一个例子来编辑这个问题。
    猜你喜欢
    • 2013-08-18
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多