我想要得到一个HTML元素的真实(未改变的)id。 我的意思是,例如,我有这行HTML:
<p id='1'>Something in paragraph</p>
如果用户在Chrome或其他浏览器中使用开发者工具,将这个标记的id更改为'2',我如何获得这个元素过去的(和真实的)id呢?
我用了这个,但它还是给出了更改后的ID。
$("input").attr('id');
提前非常感谢!
答案很简单,只需要修改时间旅行和DOM(文档对象模型)的基础知识
当用户将id的值从“1”更改为“2”时,实际上您已经从id=1
到id=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分配给元素的数据属性或在代码中作为变量。