首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取图片来源

问获取图片来源
EN

Stack Overflow用户
提问于 2010-08-19 14:57:14
回答 3查看 10.6K关注 0票数 2

我有一个类似如下的字符串:

代码语言:javascript
复制
<img src="../uplolad/commission/ranks/avatar.jpg' . $row[$c_name] .'" width="50" height="50"/>

如何在javascript中获取图像文件名?我只知道PHP正则表达式。文件的扩展名可以是不同的。

结果必须是:avatar.jpg

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-19 14:59:49

正则表达式对此并不理想。与作为长字符串相比,JavaScript可以作为不同的对象更容易地遍历HTML.如果你可以通过任何东西来识别图片,比如给它添加一个ID,或者给作为唯一图像的父级添加一个ID,你就可以从脚本中访问该图像:

代码语言:javascript
复制
var myImage = document.getElementById('imgAvatar'); // or whatever means of access
var src = myImage.src; // will contain the full path

if(src.indexOf('/') >= 0) {
   src = src.substring(src.lastIndexOf('/')+1);
}

alert(src);

如果你想编辑,你也可以这样做

代码语言:javascript
复制
myImage.src = src.replace('.jpg', '.gif');
票数 7
EN

Stack Overflow用户

发布于 2010-08-19 15:03:45

在下面的代码中获取它,这可以帮助你得到你想要的东西。

代码语言:javascript
复制
<script type="text/javascript">
    function getImageName(imagePath) {
        var objImage = new RegExp(/([^\/\\]+)$/);
        var getImgName = objImage.exec(imagePath);
        if (getImgName == null) {
            return null;
        }
        else {
            return getImgName[0];
        }
    }
</script>


<script>
    var mystring = getImageName("http://www.mypapge.mm/myimage.png")
    alert(mystring)
</script>
票数 1
EN

Stack Overflow用户

发布于 2010-08-19 15:33:56

下面是使用正则表达式的David Hedlund's answer的一个较短的变体:

代码语言:javascript
复制
var myImage = document.getElementById('imgAvatar'); // or whatever means of access
alert(myImage.src.replace( /^.+\// , '' ));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3519443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档