c# - 如何在点击时交换图像?

标签 c# javascript jquery asp.net

我想在点击时交换图像,如果我从向下图像点击到向上图像,但如果我点击该图像,它又不会出现向下图像...... 我得到一些错误-x.attr("src") 未定义

 $(document).ready(function () {
     $('#sortdivlink').click(function () {

        var x = $("img[src$='../Images/Sort_down.png'][name='stCodeDSC']");

        if (x.attr("SRC") == "../Images/Sort_down.png") {
            x.attr('src', x.attr('src').replace("../Images/Sort_down.png", "../Images/sort_up.png"));
        }
        else {
             x.attr('src',  x.attr('src').replace("../Images/sort_up.png", "../Images/Sort_down.png"));
        }
    });
});

最佳答案

我想这是由于您用来分配 x 的选择器造成的,它可能会返回 null。我会考虑向图像添加一个 Id 或 CSS 类,然后将选择器简化为如下所示:

var x = $('img.sortDirectionImage');

或者,如果您知道 sortdivlink 元素只有一个图像,您可以简单地在该元素的上下文中搜索 img 元素,对于示例:

// within the click function scope
var x = $('img', this);

编辑

此外,我建议使用更易识别的变量名;您可能知道 x 是什么,但下一个来阅读您的代码的人可能不知道。

关于c# - 如何在点击时交换图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090562/

相关文章:

javascript - 找不到状态变量

Jquery 点击事件不工作

jquery - Json 填充双列表框

jQuery + AJAX 追加淡入淡出

c# - 使用 .net 2.0 从 C# 程序将焦点设置到已打开的 Internet Explorer 选项卡

c# - "Enable Always on support..."用于通过 C# 或 powershell 的 SSIS

c# - Moq - 如何从方法返回模拟对象?

c# - 如何使用 EnvDTE 列出当前解决方案中的所有项目?

javascript - ComponentDidUpdate 不起作用

javascript - Laravel 500 错误,Base64 图像,Ajax 和数组的