我需要用localstorage值验证div元素ID。如果为true,则需要显示错误消息。当我console.log的值的每一个他们是相同的,但当我console.log比较两者它返回false。
我不知道我做错了什么。
<div id="test"></div>
$('button').on('click', function(){
var parentEl = $('div').attr('id');
localStorage.setItem('contentid', 'test');
if($(parentEl) == localStorage.getItem('contentid')) {
console.log('id === localstorage', $(parentEl) == localStorage.getItem('contentid'));
console.log('local', localStorage.getItem('contentid'));
console.log('id', parentEl);
console.log('can\t go next');
} else {
console.log('go next');
}
});
字符串
1条答案
按热度按时间ncecgwcz1#
正如我在注解中所说,不能将Object与localStorage返回的String值进行比较。因此请使用实际的ID字符串,而不是
$(parentEl) == localStorage.getItem('contentid')
:字符串
为什么要在每次按钮单击时都将相同的localStorage值重新设置为“test”?
localStorage.setItem('contentid', 'test');
看起来很奇怪。var parentEl = $('div').attr('id');
是什么?$('div')
可以是文件中的任何DIV。您需要选择一个特定的按钮,如按钮的父级?在这种情况下,用途:
的数据