我想将一个按钮的id设置为变量,以便我可以轻松访问不断变化的按钮数量:
<script>var test = 1; </script>
<button id=test> click me </button>
但它不起作用。 我这样做的动机: 我从xml文件中读取并使用表单显示其中的一部分。然后我必须改变它们的价值。我从xml读取的项目数是不可修复的。所以,如果我想控制它们,我需要给每个项目一个数字。
答案 0 :(得分:1)
var test=1;
var ele = document.getElementById('test');
ele.id="button_" + test;
ele.value="button " + test;
要说清楚,当你说
时<button id=test/>
或者,就此而言,更符合标准的
<button id="test"/>
单词test
只是一个文本标识符。它不被解释为javascript。
唯一的地方(我知道)你可以将javascript直接放入HTML属性并且它将被解释,是一个事件处理程序(例如onclick
)或者href
的a
标记,位于前缀javascript:
之后。
答案 1 :(得分:1)
var button = document.getElementsById("test");
你的var'button'将包含id为'test'的DOM对象。你可能想要这样做一些更“动态”的东西,比如:
var myArray = [];
var oButton = document.getElementsByTagName("button");
var i = 0;
for(i=0;i<oButton.length;i++) {
if (oButton[i].className == 'likedButton') {
myArray.push(oButton[i]);
}
}
这样,您只需要在按钮中添加“class ='likesButton'”,这会将所有这些按钮添加到数组'myArray'中。下一步如果你想对这些按钮做任何事情,只需通过'myArray'对象myArray [0]显示第一个带有'likesButton'类的对象。我建议使用class属性,以便您可以轻松找到大量的按钮。如果使用ID属性,则所有ID必须不同。
答案 2 :(得分:0)
您在代码中所做的是将id
值“test”分配给元素。
听起来您已经在直接处理DOM元素,因此您只需将值分配给其id
属性即可。例如:
var list, li, index;
// Find a list that already exists on the page
list = document.getElementById('myList');
// Add four items to it
for (index = 0; index < 4; ++index) {
li = document.createElement('li');
li.id = "listItem" + index; // listItem0, listItem1, ...
li.innerHTML = "I'm list item #" + index;
list.appendChild(li);
}
答案 3 :(得分:0)
我认为你不能直接将dom对象id设置为javascript变量,但你可以使用javascript或jQuery更改id我不完全清楚你想要做什么。但我想你的意思是你想根据使用jquery foreach的按钮数量来改变id
$('button').each(function(key,value){
$(this).attr("id","button_"+key)
});
答案 4 :(得分:0)
您不能在Button ID内立即更改它。在Button之后必须更改它。
var button3 = "button3"+i
var button4 = "button4"+i
'<button id="button3" type="submit" class="accpet-button">Accept</button></td><td>'+
'<button id="button4" class="cancel-button" data-dismiss="modal">Cancel</button></td>'
+"</tr>");
var ele = document.getElementById('button3');
ele.id="button3"+i;
var ele = document.getElementById('button4');
ele.id="button4"+i;
i++;
document.getElementById(button3).disabled = button1;
document.getElementById(button4).disabled = button2;