隐藏 DOM 中元素的属性

Hide attribute of an element from DOM

正如标题所说,我想为一个元素添加一个新的隐藏属性。为了避免混淆,我希望隐藏属性,而不是元素。

我有一个div:<div id="hello_div">Hello!</div>

我添加一个属性:$('#hello_div').attr('my_attr', 'attr_value');

所以我以后可以得到它:var v = $('#hello_div').attr('my_attr');

它按预期工作,但如果您在 DOM 资源管理器中检查 div,您会看到:

<div id="hello_div" my_attr="attr_value">Hello!</div>

有什么方法可以隐藏这个属性吗?

没有。如果您通过添加属性来操纵 DOM,那么在使用 DOM 检查器(例如 Chrome 开发人员工具等)时它将始终可见

您无法隐藏 DOM 属性,但我看到您正在使用 jQuery,您可以尝试 data。例如

$('#hello_div').data('my_attr', 'attr_value');

稍后检索:

var v = $('#hello_div').data('my_attr');

当您取回所需属性时var v = $('#hello_div').attr('my_attr');

删除此后的属性$('#hello_div').removeAttr('my_attr');