构造函数
Image()-
Image()构造函数创建并返回一个新的HTMLImageElement对象,该对象表示一个未附加到任何 DOM 树的 HTML<img>元素。它接受可选的 width 和 height 参数。当不带参数调用时,new Image()相当于调用document.createElement('img')。
实例属性
继承自其父级 HTMLElement 的属性。
HTMLImageElement.alt-
一个字符串,反映
altHTML 属性,指示图像未加载时要显示的备用内容。 HTMLImageElement.attributionSrc安全上下文 实验性-
以编程方式获取和设置
<img>元素的attributionsrc属性,反映该属性的值。attributionsrc指定您希望浏览器在图像请求中发送Attribution-Reporting-Eligible标头。在服务器端,这用于触发在响应中发送Attribution-Reporting-Register-Source或Attribution-Reporting-Register-Trigger标头,以分别注册基于图像的归因源或归因触发器。 HTMLImageElement.complete只读-
返回一个布尔值,如果浏览器已完成获取图像(无论成功与否),则该值为
true。这意味着如果图像没有指示要加载图像的src值,则此值也为true。 HTMLImageElement.crossOrigin-
一个字符串,指定此图像元素的 CORS 设置。有关详细信息,请参阅 CORS 设置属性。如果未使用 CORS,则此值可能为
null。 HTMLImageElement.currentSrc只读-
返回一个字符串,表示当前显示的图像的加载 URL。根据任何现有的 媒体查询 的指示,当条件变化时,图像可能会随之调整,此值也可能发生变化。
HTMLImageElement.decoding-
一个可选的字符串,表示浏览器应该如何解码图像的提示。如果提供了此值,则它必须是允许的可能值之一:
sync同步解码图像,async异步解码图像,或auto表示没有偏好(这是默认值)。有关此属性值的含义的详细信息,请阅读decoding页面。 HTMLImageElement.fetchPriority-
一个可选的字符串,表示浏览器应该如何相对于其他图像优先获取图像的提示。如果提供了此值,则它必须是允许的可能值之一:
high以高优先级获取,low以低优先级获取,或auto表示没有偏好(这是默认值)。 HTMLImageElement.height-
一个整数值,反映
heightHTML 属性,指示图像在 CSS 像素中的渲染高度。 HTMLImageElement.isMap-
一个布尔值,反映
ismapHTML 属性,指示图像是服务器端图像映射的一部分。这与客户端图像映射不同,客户端图像映射使用<img>元素和包含<area>元素(指示图像中的可点击区域)的相应<map>来指定。图像必须包含在<a>元素中;有关详细信息,请参阅ismap页面。 HTMLImageElement.loading-
一个字符串,向浏览器提供提示,用于通过确定是立即加载图像(
eager)还是按需加载(lazy)来优化文档加载。 HTMLImageElement.naturalHeight只读-
返回一个整数值,表示图像在 CSS 像素中的固有高度(如果可用);否则显示
0。这是图像以其自然全尺寸渲染时的高度。 HTMLImageElement.naturalWidth只读-
一个整数值,表示图像在 CSS 像素中的固有宽度(如果可用);否则将显示
0。这是图像以其自然全尺寸渲染时的宽度。 HTMLImageElement.referrerPolicy-
一个字符串,反映
referrerpolicyHTML 属性,它告诉 用户代理 如何决定使用哪个引用者来获取图像。阅读本文以了解此字符串的可能值的详细信息。 HTMLImageElement.sizes-
一个字符串,反映
sizesHTML 属性。此字符串指定图像的逗号分隔的条件大小列表;也就是说,对于给定的视口大小,将使用特定的图像大小。有关此字符串格式的详细信息,请阅读sizes页面上的文档。 HTMLImageElement.src-
一个字符串,反映
srcHTML 属性,其中包含图像的完整 URL,包括基本 URI。您可以通过更改src属性中的 URL 来将不同的图像加载到元素中。 HTMLImageElement.srcset-
一个字符串,反映
srcsetHTML 属性。这指定了一个候选图像列表,由逗号 (',', U+002C COMMA) 分隔。每个候选图像是一个 URL,后跟一个空格,再后跟一个特殊格式的字符串,指示图像的大小。大小可以指定为宽度或大小倍数。有关大小子字符串格式的详细信息,请阅读srcset页面。 HTMLImageElement.useMap-
一个字符串,反映
usemapHTML 属性,其中包含描述要使用的图像映射的<map>元素的页面局部 URL。页面局部 URL 是一个井号 (hash) 符号 (#),后跟<map>元素的 ID,例如#my-map-element。<map>反过来包含<area>元素,指示图像中的可点击区域。 HTMLImageElement.width-
一个整数值,反映
widthHTML 属性,指示图像在 CSS 像素中的渲染宽度。 HTMLImageElement.x只读-
一个整数,指示图像 CSS 布局框的左边框边缘相对于
<html>元素的包含块原点的水平偏移量。 HTMLImageElement.y只读-
图像 CSS 布局框的顶部边框边缘相对于
<html>元素的包含块原点的整数垂直偏移量。
已废弃的属性
HTMLImageElement.align已弃用-
一个字符串,指示图像相对于周围上下文的对齐方式。可能的值是
"left"、"right"、"justify"和"center"。这已过时;您应该改用 CSS(例如text-align,尽管其名称如此,但它适用于图像)来指定对齐方式。 HTMLImageElement.border已弃用-
一个字符串,定义图像周围边框的宽度。这已弃用;请改用 CSS
border属性。 HTMLImageElement.hspace已弃用-
一个整数值,指定图像左右两侧要留空的量(以像素为单位)。
HTMLImageElement.longDesc已弃用-
一个字符串,指定可以找到图像内容长描述的 URL。这用于自动将图像转换为超链接。现代 HTML 应该将
<img>放在定义超链接的<a>元素中。 HTMLImageElement.name已弃用-
一个字符串,表示元素的名称。
HTMLImageElement.vspace已弃用-
一个整数值,指定图像上方和下方要留空的像素量。
实例方法
继承自其父级 HTMLElement 的方法。
HTMLImageElement.decode()-
返回一个
Promise,当图像被解码并且可以安全地将图像附加到 DOM 时,该 Promise 将解析。这可以防止在将未解码的图像添加到 DOM 时,下一帧的渲染暂停以解码图像。
错误
如果尝试加载或渲染图像时发生错误,并且已配置 onerror 事件处理程序来处理 error 事件,则将调用该事件处理程序。这可能发生在多种情况下,包括:
示例
创建和插入图像元素
const img1 = new Image(); // Image constructor
img1.src = "image1.png";
img1.alt = "alt";
document.body.appendChild(img1);
const img2 = document.createElement("img"); // Use DOM HTMLImageElement
img2.src = "image2.jpg";
img2.alt = "alt text";
document.body.appendChild(img2);
// using first image in the document
alert(document.images[0].src);
获取宽度和高度
以下示例展示了 height 和 width 属性与不同尺寸图像的用法:
<p>
Image 1: no height, width, or style
<img id="image1" src="https://www.mozilla.org/images/mozilla-banner.gif" />
</p>
<p>
Image 2: height="50", width="500", but no style
<img
id="image2"
src="https://www.mozilla.org/images/mozilla-banner.gif"
height="50"
width="500" />
</p>
<p>
Image 3: no height, width, but style="height: 50px; width: 500px;"
<img
id="image3"
src="https://www.mozilla.org/images/mozilla-banner.gif"
style="height: 50px; width: 500px;" />
</p>
<div id="output"></div>
const arrImages = [
document.getElementById("image1"),
document.getElementById("image2"),
document.getElementById("image3"),
];
const objOutput = document.getElementById("output");
let strHtml = "<ul>";
for (let i = 0; i < arrImages.length; i++) {
const img = arrImages[i];
strHtml += `<li>image${i + 1}: height=${img.height}, width=${img.width}, style.height=${img.style.height}, style.width=${img.style.width}</li>`;
}
strHtml += "</ul>";
objOutput.innerHTML = strHtml;
规范
| 规范 |
|---|
| HTML # htmlimageelement |
浏览器兼容性
加载中…
另见
- 实现此接口的 HTML 元素:
<img>