使用JavaScript更改HTML名称元素

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/

(从小提琴中删除提示行 - 它只是告诉你它有效)


sil*_*lly 2

首先,将 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)