如何将图像源返回为字符串?

Chr*_*llo 5 javascript

我正在尝试将图像源转换为字符串,以便可以substring()在其上运行。我使用以下JavaScript来获取源代码:

function ShowQuizAnswers(quiz) {
    var QuizImage = document.getElementById(quiz);
    var ImageType = QuizImage.attributes.src;
    console.log(ImageType);
}
Run Code Online (Sandbox Code Playgroud)

当然,正如我很快发现的那样,它返回一个对象而不是字符串。我尝试.toString()ImageType变量上运行,但这没有用。有什么我想念的吗?

Pra*_*lan 2

使用Element#getAttribute或直接src从 dom 对象获取属性。

function ShowQuizAnswers(quiz) {
    var QuizImage = document.getElementById(quiz);
    var ImageType = QuizImage.src;
    console.log(ImageType);
}
Run Code Online (Sandbox Code Playgroud)

或者

function ShowQuizAnswers(quiz) {
    var QuizImage = document.getElementById(quiz);
    var ImageType = QuizImage.getAttribute('src');
    console.log(ImageType);
}
Run Code Online (Sandbox Code Playgroud)

仅供参考:attributes是一个类似数组的结构(NamedNodeMap)。它实际上有助于迭代元素的所有属性,但您无法直接从中访问该属性。

来自 MDN 文档:

Element.attributes属性返回注册到指定节点的所有属性节点的实时集合。它是一个NamedNodeMap,而不是一个 Array ,因此它没有 Array 方法,并且 Attr 节点的索引可能因浏览器而异。更具体地说,属性是一个键/值对字符串,表示有关该属性的任何信息。