我试图在单击它时更改span元素的属性,例如其边框和背景颜色。我还想将元素属性重置为原来的状态,当它再次单击时。但是我无法做到这一点。我接受任何类型的解决方案,包括Jquery。其实我的代码是目前的Jquery:;重新回到原始状态
$('.clickable_span').click(function() {
if($(this).attr('border') == undefined || $(this).attr('border') == false) {
$(this).css('background', 'white');
$(this).css('border', '1px solid black');
}
else if($(this).attr('border') == true) {
$(this).css('background', 'dimgrey');
$(this).css('border', 'none');
}
});
它使进入第一个if语句(我console.logged),所以它改变了元件的结构中,但不会重置回原来的状态。代码有什么问题?为什么$(this).attr('border')在将该属性赋予元素后仍然等于undefined? (差别是可见的)。
你确定你想要的边框属性,或者你想要的CSS属性?我不确定你是否试图从CSS内部获得财产等,或者如果你正在尝试其他的东西。有点第一件事,但我跳了出来。 – Fallenreaper
所以你基本上想要改变属性和第一次点击并重置它,如果你点击两次正确的? – utdev
jQuery'css'方法设置元素的内联样式,它不会为元素添加任意属性。 – Teemu