Javascript “我可以设置”吗;id";将按钮转换为变量?

Javascript “我可以设置”吗;id";将按钮转换为变量?,javascript,jquery,html,Javascript,Jquery,Html,我想将一个按钮的id设置为一个变量,这样我就可以轻松地访问不断变化的按钮数量: <script>var test = 1; </script> <button id=test> click me </button> var测试=1; 点击我 但这是行不通的。 我这样做的动机是: 我从一个xml文件中读取并使用表单显示其中的一部分。然后我必须改变它们的值。而且我从xml中读取的项目数量是不固定的。所以,如果我想控制它们,我需要给每个项目一个数字

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

<script>var test = 1; </script>
<button id=test> click me </button>
var测试=1;
点击我
但这是行不通的。 我这样做的动机是: 我从一个xml文件中读取并使用表单显示其中的一部分。然后我必须改变它们的值。而且我从xml中读取的项目数量是不固定的。所以,如果我想控制它们,我需要给每个项目一个数字

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
)或
a
标记的
href
中,在前缀
javascript:

之后,您在代码中所做的是分配
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);
}
var列表、li、索引;
//查找页面上已存在的列表
list=document.getElementById('myList');
//添加四个项目
对于(索引=0;索引<4;++索引){
li=document.createElement('li');
li.id=“listItem”+索引;//listItem0、listItem1。。。
li.innerHTML=“我是列表项#”+索引;
表1.儿童(李);
}

我不认为您可以直接将dom对象id设置为javascript变量,但您可以使用javascript或jQuery更改id。我不完全清楚您要做什么。但是我想你说的是,你想根据按钮的数量来更改id,这样就可以使用jquery foreach了

$('button').each(function(key,value){
    $(this).attr("id","button_"+key)
});
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]);
 }
}
var myArray=[];
var oButton=document.getElementsByTagName(“按钮”);
var i=0;

对于(i=0;i您不能在按钮ID内立即更改它。必须在按钮后更改它

var button3=“button3”+i
var button4=“button4”+i
“接受”+
“取消”
+"");
var ele=document.getElementById('button3');
ele.id=“button3”+i;
var ele=document.getElementById('button4');
ele.id=“按钮4”+i;
i++;
document.getElementById(button3).disabled=button1;
document.getElementById(button4).disabled=button2;

“我认为您不能直接将dom对象id设置为javascript变量…”是的,您可以。;-)@T.J.Crowder那么你可以这样做?我想你们在回答问题时说的是同一件事:
document.writeln(“”)但是你不需要,你可以稍后再做,修改标记。Lol ohh好的,我看到了Lol ic,但这不是将js变量直接放在HTML中的同一个广告,但我明白了,值得注意的是,
id
属性不能,在HTML4 doctype下,以数字字符开头,并且是有效的HTML 4文档。请注意,前缀
javascript:
仅用于
href
属性;不是在事件处理程序中!您的代码不完整,第三行中似乎缺少一些内容
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]);
 }
}