首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >拆分图像源属性,使用普通JavaScript而不使用正则表达式

拆分图像源属性,使用普通JavaScript而不使用正则表达式
EN

Stack Overflow用户
提问于 2016-11-02 04:08:25
回答 2查看 1.3K关注 0票数 1

问题所在

我正在尝试找出如何使用普通的JavaScript作为<img>标记来拆分src元素。我认为我的代码是相当可靠的,但是Chrome开发者控制台总是给我"someFunction不是一个函数错误“。

我的代码

下面是我当前的代码:

var links = document.getElementsByTagName('img');

for (var i=0; i<links.length; ++i) {

   console.log(links[i].src);

   var partsArr = links[i].toString().split('/');
   console.log(partsArr);


}

它可以运行,但我从partsArr得到的输出是:

["[object HTMLImageElement]"]

我期待的是更多的东西:

["file:","pathpart1", "pathpart2", ... "filename.ext"]

备注:我必须用普通的JavaScript来做这件事,因为jQuery不可用。此外,这是一个在本地主机上的页面,我正在Chrome开发人员工具控制台中编码,如果这有什么不同的话。

我已经尝试过的东西

我已经搜索了一个副本,但没有找到一个完全符合我的要求的副本。以下是我在提交这个问题之前参考的帖子:

Javascript: Split and variable issues

Split a image tag on html string

Getting image src name javascript

How to split and assign 2 words?

What is causing the error string.split is not a function?

我的问题

  1. 如何从<img>标记JavaScript属性中解析图像文件名,只使用普通的src,并且没有在当前代码中做错什么?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-02 04:16:46

看起来这部分是错的,

var partsArr = links[i].toString().split('/');

您应该只访问元素的.src属性,而不是在element对象上执行'toString‘。所以,

var partsArr = links[i].src.split('/');
票数 2
EN

Stack Overflow用户

发布于 2018-09-27 04:26:53

(代表问题作者发布解决方案)。

非常感谢迈克尔·卡姆登为我提供了另一双眼睛,并发现了我的错误。在进行了更正后,他建议,代码可以完美地工作。

如果其他人想要用一种简单的JavaScript方法从网页中获取所有图片名称,而不需要所有的文件路径位置信息,下面是我写的脚本,它的工作方式非常棒:

var links = document.getElementsByTagName('img');

for (var i=0; i<links.length; ++i) {

   console.log(links[i].src);

   var partsArr = links[i].src.split('/');
   console.log(partsArr);

   var imageName = partsArr[partsArr.length -1];
   console.log(imageName);


}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40367831

复制
相关文章

相似问题

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