提问者:小点点

如何使用jQuery获得HTML元素的真实id?


我想要得到一个HTML元素的真实(未改变的)id。 我的意思是,例如,我有这行HTML:

<p id='1'>Something in paragraph</p>

如果用户在Chrome或其他浏览器中使用开发者工具,将这个

标记的id更改为'2',我如何获得这个元素过去的(和真实的)id呢?

我用了这个,但它还是给出了更改后的ID。

 $("input").attr('id');

提前非常感谢!


共3个答案

匿名用户

答案很简单,只需要修改时间旅行和DOM(文档对象模型)的基础知识

当用户将id的值从“1”更改为“2”时,实际上您已经从id=1id=2“1”已被用户从存在中擦除的时间进行了旅行,在id的当前值为“2”(实际值)时,dom只知道该值。 因此您只能获得dom实际知道的值,即当前值

$("input").attr('id');

这是获取id值的正确方法

匿名用户

您可以将data-id元素附加到html元素以获取原始值。

null

 $("p").attr("id", 2);

 console.log($("p").attr('id'));
 console.log($("p").data('id'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<p id="1" data-id="1">Something in paragraph</p>

匿名用户

您必须在更改原始ID之前跟踪它,您可以将旧ID分配给元素的数据属性或在代码中作为变量。

相关问题