javascript - Jquery/Javascript - 存储字符串的最后 4 个字母(跨浏览器)

标签 javascript jquery substr

我编写了一个快速图像交换类,通过将“_grey”添加到图像 src 来在悬停时切换图像。该代码在除 ie6 之外的所有浏览器中的整个站点中都运行良好。 substr 在这里似乎无法正常工作 - 请提供任何建议!?

代码如下 -

$(document).ready(function() {
var initImg;    
    $('img.swapGrey').hover(function() {


        initImg = $(this).attr("src");  
        var imgType = (initImg).substr(-4);
        alert(initImg);
        var greyImg = initImg.slice(0, -4) + "_grey" + imgType;
        alert(greyImg);

        $(this).attr("src",greyImg);

            }, function() {
        $(this).attr("src",initImg);

    });


});

最佳答案

使用slice而不是substrsubstr 是非标准的,而 slice 在 ECMAScript 3 规范中指定(包括负位置),并且在所有主要浏览器中都受支持,包括 IE 6。

关于javascript - Jquery/Javascript - 存储字符串的最后 4 个字母(跨浏览器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502958/

相关文章:

javascript - 在datepicker jquery中设置最大年份

javascript - 获取第一个空格字符和 '=' 字符之间的字符串

javascript - Flot 的蜘蛛图插件,有用吗?

javascript - 函数式风格的分块对象(Underscore/Lodash)

javascript - 突出显示所选文本javascript函数的问题

javascript - 链接到另一个页面上动态创建的 div

regex - 从字符串中提取两个单词之间的子字符串

php - 从 CSS 文件中删除重复项

javascript - 如何使用 JavaScript 修改网站的标题?

javascript - javascript中自调用函数内变量的生命周期是多少