【问题标题】:jQuery: Apply css to image on click eventjQuery:在单击事件上将 css 应用于图像
【发布时间】:2010-05-27 17:37:38
【问题描述】:

我想要的基本一样 jquery select image

一排图像,您可以从中选择一个。

但我正在尝试设置我选择的样式并将其存储。

var selectedicon = "";

function selecticon(){

$('#iconselect').children().click(function(){
        $(".selectedicon").removeclass("selectedicon");
        selectedicon = $(this).attr("src");
        $(this).addclass("selectedicon");
    });
}

关于这个

  <div id="iconselect">
    <img src="/red-dot.png" class="selectedicon" />
    <img src="/green-dot.png" />
    <img src="/blue-dot.png" />
    <img src="/orange-dot.png" />
</div>

我做错了什么?

【问题讨论】:

  • 我不知道。但你可以告诉我们到底是什么不工作。
  • 为什么在该命名函数中附加了点击事件?

标签: css jquery


【解决方案1】:

jQuery addClassremoveClass 输入错误(C 应该是大写)。

函数selecticon是否被调用了?

【讨论】:

  • 是类名。谢谢。
【解决方案2】:

正如你不是说 什么 不起作用,这里是一个疯狂的猜测:

可能永远不会调用函数selection(),因此点击处理程序永远不会附加到元素上。将您的代码放入 document.ready 回调中:

var selectedicon = "";

$(function() {
    // I would use $('#iconselect img').click(...)
    $('#iconselect').children().click(function(){
        $(".selectedicon").removeClass("selectedicon");
        selectedicon = $(this).attr("src");
        $(this).addClass("selectedicon");
    });
});

这可确保在加载 DOM 后执行您的代码。

您的方法名称也有一些拼写错误:

  • removeclass() 必须是 removeClass()
  • addclass() 必须是 addClass()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多