我有一个带有id属性的按钮,我想让它的值动态变化。我通过我定义的'setId'和'getId'函数使用了两个javascript函数。实际上,设置的当前按钮的id属性(参见下面的'setId'函数)必须与作为javascript代码的参数给出的属性相同(参见下面'toggle'中的'getId'函数调用)。
下面的代码段是静态html行为的示例
<td align="right">KO<input id="1" type="button"
value="[+] Expand" onclick="toggle('tb','1');"/></td>
为了使其动态化,我使用下面的'setId'和'getId'函数
<head>
....
<script type="text/javascript">
var setId = (function () {
return function(element) {
if (!element.id) {
element.id+ = 1;
}
};
}());
var getId = (function () {
return function(element) {
return element.id;
};
}());
</script>
</head>
为了让它逐步改变,我在'body'html元素
中将它们称为如下<td align="right">KO<input id="setId(this);" type="button"
value="[+] Expand" onclick="toggle('tb',getId(this));"/></td>
然而,似乎按钮('input')的id没有按预期改变。实际上,任何按钮上的click事件总是指向第一个按钮,而我希望它引用当前按钮。请问如何更改javascript函数以实现我想要的?
提前致谢
答案 0 :(得分:0)
使用Javascript代码toggle('tb','getId(this);');
,您正在调用一个名为toogle
的函数,其中字面上给出了两个字符串参数,一个是字符串tb
,另一个是字符串getId(this);
。如果要调用函数getId
并将其结果传递给函数toggle
,请使用
onclick="toggle('tb',getId(this));"
答案 1 :(得分:0)
在xsl转换时创建id,或者你需要编写一个javascript,删除旧按钮并添加带有新id的新按钮。
我不知道有任何其他方法可以动态更改html元素的id。