隐藏 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');
正如标题所说,我想为一个元素添加一个新的隐藏属性。为了避免混淆,我希望隐藏属性,而不是元素。
我有一个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');