如何用jQuery简洁获取HTML标签的全部属性?
用jQuery获取HTML元素的全部属性字符串
你可以借助原生DOM的API来实现,jQuery本身没有直接返回全部属性字符串的方法,但可以通过以下两种简洁方式达成需求:
方法一:遍历原生attributes集合
先通过jQuery拿到对应的DOM元素,再遍历其attributes属性拼接字符串:
// 获取目标元素的原生DOM对象 const targetElem = $('#1')[0]; // 遍历属性并拼接成字符串 const allAttributes = Array.from(targetElem.attributes) .map(attr => `${attr.name}="${attr.value}"`) .join(' '); // 输出结果:id="1" class="myclass" height="200" data-js-reload="20" console.log(allAttributes);
这种方法会统一给属性值加上引号,不管原始写法是否带引号。
方法二:截取outerHTML保留原始格式
如果需要严格保留属性的原始书写格式(比如height=200不带引号),可以通过元素的outerHTML截取属性部分:
const targetElem = $('#1')[0]; const elemHTML = targetElem.outerHTML; // 截取标签名后到闭合尖括号前的内容 const rawAttributes = elemHTML.slice(elemHTML.indexOf(' ') + 1, elemHTML.indexOf('>')); // 输出结果:id="1" class="myclass" height=200 data-js-reload="20" console.log(rawAttributes);
内容的提问来源于stack exchange,提问作者Michael Nielsen
相关产品推荐
相关产品推荐

