本文介绍如何使用原生 javascript 获取指定 html 元素当前实际存在的所有属性(name="value" 形式),并以可读字符串形式输出到控制台;需注意该方法仅返回显式声明的属性,不包含浏览器默认属性或未设置的合法属性。
本文介绍如何使用原生 javascript 获取指定 html 元素当前实际存在的所有属性(name="value" 形式),并以可读字符串形式输出到控制台;需注意该方法仅返回显式声明的属性,不包含浏览器默认属性或未设置的合法属性。
在 Web 开发中,我们常通过 getComputedStyle() 获取元素的计算样式,但 HTML 元素的属性(attributes)——如
element.attributes 是一个只读的 NamedNodeMap,包含所有显式写在 HTML 标签中的属性节点(包括布尔属性如 disabled、空值属性如 hidden 等)。以下是一个简洁、兼容性良好的工具函数:
function getAttributes(element) {
const attributes = element.attributes;
const attributeList = [];
for (let i = 0; i <p>⚠️ 重要说明: </p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill8961" title="html-to-pptx-converter"><img
src="https://img.php.cn/upload/skill/000/000/081/179232667384043.jpg" alt="html-to-pptx-converter" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill8961" title="html-to-pptx-converter" class="overflowclass">html-to-pptx-converter</a>
<p class="overflowclass">使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。</p>
</div>
<a rel="nofollow" href="/xiazai/skill8961" title="html-to-pptx-converter" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>
- ✅ 此方法返回的是当前 DOM 元素上实际存在的 HTML 属性(即 HTML 源码或通过 setAttribute() 动态添加的),而非浏览器支持的所有可能属性;
- ❌ 它不会列出未设置的合法属性(例如 支持 autocomplete,但若未声明则不会出现在结果中);
- ❌ 也无法反映通过 JS 直接赋值的 DOM 属性(如 elem.className = 'active' 不会自动同步为 class attribute,除非调用 elem.setAttribute('class', 'active'));
- ? 若需获取某标签的全部标准属性规范列表(如
总结:element.attributes 是获取“已设置属性”的唯一标准、轻量、跨浏览器方案。将其封装为可复用函数,配合现代 ES6+ 语法(如扩展运算符 + Array.from())亦可进一步简化:
const getAttrs = el =>
Array.from(el.attributes)
.map(attr => `${attr.name}${attr.value ? `="${attr.value}"` : ''}`)
.join(' ');
掌握这一技巧,有助于调试模板渲染、构建属性检查工具或实现自定义组件的属性透传逻辑。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










