我可以将按钮的“id”设置为变量吗?

时间:2011-03-26 19:12:17

标签: javascript jquery html

我想将一个按钮的id设置为变量,以便我可以轻松访问不断变化的按钮数量:

<script>var test = 1; </script>
<button id=test> click me </button>

但它不起作用。 我这样做的动机: 我从xml文件中读取并使用表单显示其中的一部分。然后我必须改变它们的价值。我从xml读取的项目数是不可修复的。所以,如果我想控制它们,我需要给每个项目一个数字。

5 个答案:

答案 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)或者hrefa标记,位于前缀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);
}

Live example

答案 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;