You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript和jQuery获取元素的原始转义HTML属性值?

获取HTML元素属性的原始转义值问题

页面中有如下div元素:

<div class="myDiv" id="&lt;script&gt;alert(1)&lt;/script&gt;"></div>

使用jQuery的$('.myDiv').attr('id')只能得到解码后的<script>alert(1)</script>,但我需要获取原始的转义字符串&lt;script&gt;alert(1)&lt;/script&gt;,以此判断该HTML是否被转义,请问用JavaScript或jQuery怎么实现?


解决方案

  • 通过DOM元素的outerHTML属性获取完整原始HTML代码,再用正则提取id属性的原始值:

    // 原生JS实现
    const targetDiv = document.querySelector('.myDiv');
    const elementHTML = targetDiv.outerHTML;
    const idRawValue = elementHTML.match(/id="([^"]+)"/)?.[1];
    console.log(idRawValue); // 输出 &lt;script&gt;alert(1)&lt;/script&gt;
    

    或者用jQuery结合原生属性:

    // jQuery结合原生属性
    const targetDiv = $('.myDiv')[0];
    const elementHTML = targetDiv.outerHTML;
    const idRawValue = elementHTML.match(/id="([^"]+)"/)?.[1];
    console.log(idRawValue);
    
  • 原理:attr()方法会自动解码HTML实体,而outerHTML保留了元素在页面中的原始HTML代码(包括未解码的转义字符),因此可以通过正则匹配提取出id属性的原始转义值。

  • 适配说明:如果元素的id属性使用单引号包裹,可将正则调整为/id=['"]([^'"]+)['"]/,兼容单双引号两种写法。


内容的提问来源于stack exchange,提问作者Karol Skwierawski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:35:18