javascript分离document.getElementById以实现可重用性

javascript分离document.getElementById以实现可重用性,javascript,Javascript,我正试图根据以下条件为isSelected赋值。在重新重构之前,它工作得很好。一旦我重构,它就失败了。我可能犯了什么错 工作代码 var isSelected= false; var temp = isSelected?(document.getElementById("Link").disabled = false): (document.getElementById("Link").disabled = true); 重构代码(不工作) 禁用的属性是一个原语,当您将其指定

我正试图根据以下条件为isSelected赋值。在重新重构之前,它工作得很好。一旦我重构,它就失败了。我可能犯了什么错

工作代码

    var isSelected= false;
    var temp = isSelected?(document.getElementById("Link").disabled = false): 
(document.getElementById("Link").disabled = true);
重构代码(不工作)


禁用的
属性是一个原语,当您将其指定给变量时,您指定的是实际值,而不是对该属性的引用

而是缓存从
文档返回的元素引用。getElementById()


什么是失败的,链接没有被禁用?IMO,应该进行语义重构,使其可读:
myLink.disabled=!isSelected
var isSelected= false;
var myLink = document.getElementById("Link").disabled;
var temp = isSelected?(myLink = false): (myLink = true);
var isSelected= false;
var myLink = document.getElementById("Link");
myLink.disabled = !isSelected;