Bra*_*amt 0 html javascript 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';
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它只适用于document.getElementById(element.id).textContent直接放入if语句的情况.
如何正确存储变量?
由于您已经获得了元素,因此您无需再次获取它.你可以使用元素.
但是你无法改变它的原因是你只是改变包含文本的变量.它没有指向元素的属性.你需要使用这个:
function toggleText(element){
var text = element.textContent;
if (text == 'Edit') {
element.textContent = 'Done';
} else {
element.textContent = 'Edit';
}
}
Run Code Online (Sandbox Code Playgroud)
当您访问时,document.getElementById(element.id).textContent您获得的是它的价值,而不是参考。所以对它的更改不会影响元素。
但是当您将元素分配给变量时,它会得到对它的引用。
var element = document.getElementById(element.id);
if (element.textContent == 'Edit') {
element.textContent = 'Done';
} else {
element.textContent = 'Edit';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9253 次 |
| 最近记录: |