javascript - 将 document.getElementById 存储在变量中?

标签 javascript html document getelementbyid

我有这个脚本,应该在单击按钮时更改按钮的文本。

<body>
   <button onclick="toggleText(this);" id="id">Edit</button>
</body>

function toggleText(element){
    var text = document.getElementById(element.id).textContent;

    if (text == 'Edit') {
        text = 'Done';
    } else {
        text = 'Edit';
    }
}

但是这不起作用。仅当您将 document.getElementById(element.id).textContent 直接放入 if 语句中时,它才有效。

如何正确存储变量?

最佳答案

由于您已经获取了该元素,因此无需再次获取。您可以只使用元素。

但是您无法更改它的原因是您只是更改包含文本的变量。它不指向元素的属性。您需要使用这个:

function toggleText(element){
  var text = element.textContent;

  if (text == 'Edit') {
    element.textContent = 'Done';
  } else {
    element.textContent = 'Edit';
  }
}

关于javascript - 将 document.getElementById 存储在变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29614210/

相关文章:

jquery - 在纯 CSS 中将子级的宽度设置为父级的高度

Javascript 回溯

javascript - 重置自动完成组合框

javascript - 需要对以下类型的 Javascript 代码进行解释

javascript - 带有文本类型的 html5 输入框中的微调器?

javascript - 禁用单击表格 td 但激活单击表格的 div

javascript - IE6 Try/Catch block 不适用于自定义 document.someFunction 调用

javascript - 创建Trigger看文档值mongoDB发送邮件

java - 在 Java 中使用文档节点

javascript - 登录passportjs后如何设置 session 超时?