use*_*907 4 javascript element rename
在按下div(我用其他代码制作一个按钮)时,我想要以下代码:
<div id="w1" name='w1-0' onclick="weekclick(id)">1<br /></div>
Run Code Online (Sandbox Code Playgroud)
...的名字从改变name='w1-0'到name='w1-1'
我正在使用以下JavaScript:
function weekclick(id) {
document.getElementById(id).input.name = "w1-1";
}
Run Code Online (Sandbox Code Playgroud)
当我提醒id的名字时,它说它是未定义的.做什么?
Yar*_* U. 15
见下面的代码:
<div id="w1" name='w1-0' onclick="weekclick(id)">1<br /></div>
<div onclick="weekclick('w1');">click me</div>?
<script type="text/javascript">
function weekclick(id) {
document.getElementById(id).setAttribute("name","w1-1");
}?
</script>
Run Code Online (Sandbox Code Playgroud)
链接到小提琴 - http://jsfiddle.net/TH9C2/
(从小提琴中删除提示行 - 它只是告诉你它有效)
首先,将 html 中的调用更改为该用户this.id,而不仅仅是 id:
<div id="w1" name='w1-0' onclick="weekclick(this.id)">1<br /></div>
Run Code Online (Sandbox Code Playgroud)
比让你的js像这样(删除.input并使用setAttribute):
function weekclick(id) {
document.getElementById(id).setAttribute('name', 'w1-1');
}
Run Code Online (Sandbox Code Playgroud)
编辑 或者您将 html 中的调用更改为:
weekclick(this)
Run Code Online (Sandbox Code Playgroud)
你的 js 函数必须是这样的:
function weekclick(domElement) {
domElement.setAttribute('name', 'w1-1');
}
Run Code Online (Sandbox Code Playgroud)