问题所在
我正在尝试找出如何使用普通的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
?
我的问题
<img>
标记JavaScript属性中解析图像文件名,只使用普通的src,并且没有在当前代码中做错什么?发布于 2016-11-02 04:16:46
看起来这部分是错的,
var partsArr = links[i].toString().split('/');
您应该只访问元素的.src属性,而不是在element对象上执行'toString‘。所以,
var partsArr = links[i].src.split('/');
发布于 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);
}
https://stackoverflow.com/questions/40367831
复制相似问题