Javascript更改边框
我的页面中有一些按钮,如:Javascript更改边框,javascript,html,Javascript,Html,我的页面中有一些按钮,如: <a id="1" onclick="javascript:randje(1);"></a> <a id="2" onclick="javascript:randje(2);"></a> 这很有效。但我有一个小列表,上面有一些可点击的链接,有时是2个,有时是5个,甚至更多。现在我想尝试更改我单击的按钮的边框,并将上一次单击的边框设置为黑色。像这样的东西,但这还不起作用。有人能帮我吗 function randje(A)
<a id="1" onclick="javascript:randje(1);"></a>
<a id="2" onclick="javascript:randje(2);"></a>
这很有效。但我有一个小列表,上面有一些可点击的链接,有时是2个,有时是5个,甚至更多。现在我想尝试更改我单击的按钮的边框,并将上一次单击的边框设置为黑色。像这样的东西,但这还不起作用。有人能帮我吗
function randje(A) {
if ( B ) { document.getElementById(B).style.borderColor = "black" };
document.getElementById(A).style.borderColor = "green";
var B = A;
}
谢谢 只需将声明移出函数即可
var-B;
功能(A){
如果(B){
document.getElementById(B).style.borderColor=“黑色”
};
document.getElementById(A).style.borderColor=“绿色”;
B=A;
}
a{边框样式:虚线;}
1
两个
这是另一个选项,假设有多个链接,如您所写。该解决方案是基于jQuery的,但也可以用普通JavaScript实现
a、 链接{边框:3px纯黑色;显示:内联块;填充:1em;}
a、 link.selected{边框颜色:绿色;}
1.
2.
3.
$('a.link')。在('click',(e)=>{
$('a.link').removeClass('selected');
$(e.currentTarget).addClass('selected');
})
我还没有达到您的目标,但是:范围var B
是函数本身。在返回后将无法生存。因此,每次if
中的条件都将产生false。您可以在窗口范围中声明B。但是您最好使用类:选择您喜欢的类名,并声明边框样式。然后单击从集合中的所有元素中删除该类,并添加到事件的目标。如果我理解正确,可能会有很多B-s。
function randje(A) {
if ( B ) { document.getElementById(B).style.borderColor = "black" };
document.getElementById(A).style.borderColor = "green";
var B = A;
}