【问题标题】:Remove First Forward Slash from IMG SRC从 IMG SRC 中删除第一个正斜杠
【发布时间】:2012-01-15 21:56:54
【问题描述】:

我有一个图片标签..

<img src="/folder1/folder2/image.jpg">

我需要,使用 javascript / query 从 src 标记中删除第一个正斜杠以使图像标记像这样。

<img src="folder1/folder2/image.jpg">

我想对页面上的任何图像执行此操作。

有什么想法吗?

贾斯汀

【问题讨论】:

    标签: javascript jquery image src


    【解决方案1】:

    经过测试和工作:

    $('img').each(
        function(){
            var src = $(this).attr('src');
            if (src.indexOf('/') === 0){
                this.src = src.replace('/','');
            }
        });
    

    JS Fiddle demo.

    根据 nnnnn 的建议,在下面的 cmets 中,使用substring() 的替代解决方案:

    $('img').each(
        function(){
            var src = $(this).attr('src');
            if (src.indexOf('/') === 0){
                this.src = src.substring(1);
            }
        });
    

    JS Fiddle demo.

    请注意,我正在使用:

    var src = $(this).attr('src');
    

    因为我想要属性的实际内容,而不是浏览器对该属性的评估解释(例如,在 jsFiddle 上使用 src="/folder1/folder2/image.jpg" this.src 返回 http://fiddle.jshell.net/folder1/folder2/image.jpg)。

    【讨论】:

    • 或者代替replace(),也许是this.src = this.src.substr(1);
    • 实际上,现在我已经考虑过了,你可能会失去检查 indexOf() 的 if 测试,只说 this.src = this.src.replace(/^\//,"");
    • 啊,你看,现在我们在 regex 中,而且...这就是我真正开始挣扎的地方...也许发帖提供该解决方案的答案?理想情况下,对白痴有一个解释(我能理解……)。 =)
    • 不,你应该得到积分,因为首先进入,更重要的是处理 src 作为我不会想到的属性问题。 /^\// 的解释是 ^ 表示字符串的开头,在这种情况下,后跟一个正斜杠(需要用反斜杠转义) - 如果第一个字符有正斜杠,它将被替换,否则什么都不会发生。
    猜你喜欢
    • 1970-01-01
    • 2010-10-31
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多