【问题标题】:How do I return an image source as a string?如何将图像源作为字符串返回?
【发布时间】:2019-08-04 07:28:39
【问题描述】:

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

function ShowQuizAnswers(quiz) {
    var QuizImage = document.getElementById(quiz);
    var ImageType = QuizImage.attributes.src;
    console.log(ImageType);
}

当然,我很快发现,这返回了一个对象而不是字符串。我尝试在ImageType 变量上运行.toString(),但这不起作用。我有什么遗漏吗?

【问题讨论】:

标签: javascript


【解决方案1】:

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

function ShowQuizAnswers(quiz) {
    var QuizImage = document.getElementById(quiz);
    var ImageType = QuizImage.src;
    console.log(ImageType);
}

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

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

来自 MDN 文档:

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

【讨论】:

  • 这行得通,谢谢。是否有任何理由偏爱其中一种方法而不是另一种?
  • @ChrisLallo 您可能正在寻找src 属性而不是src 属性,尽管如果属性是绝对url,它们将是相同的。如果属性是相对 url,则属性仍然是完整的 url,这通常更有用。
【解决方案2】:

试试:

const imageURL = document.getElementById(quiz).src

【讨论】:

    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多