我有一个要求,我需要用js变量设置html输入标签id。
示例:
<input type='text' id='(here I need js variable)'/>
我知道通过
创建整个元素可以做到这一点document.createElement('div name');
我可以附加到div,但我想以一种简单的方式。
如果它是Java变量,那么我可以像
那样做<%String myVar = "txtId"%>
<input type='text' id='<%= myVar%>'/>
有没有最简单的方法将js变量放在html标签中?
更新:
感谢答案的人,我知道我们可以创建任意数量的输入元素并附加到父元素。而且我们可以通过标签名称获取元素,并可以为这些元素设置id。但我的问题是,有没有办法使用(或)放置(或)在html标记中插入js变量就像我们可以插入java一样html标记中的变量,如上所示。
等
<script>
var txtId = 'txt1';
</script>
<html>
<input type='text' id='document.write(txtId)'/>
</html>
有没有办法这样做?
答案 0 :(得分:1)
将id分配给exists元素,如果你想使用java变量作为你的新id,你可以使用像this这样的jstl标签
var inputs = document.getElementsByTagName("input");
for(var i = 0 ; i<inputs.length ; i++){
inputs[i].id = "newIdWhatYouWant";
}
<input type='text' class="name"/>
答案 1 :(得分:0)
你可以使用attr() jQuery函数并设置你喜欢的任何字符串。所以在行动中:
var str="newId"
$('name_or_#id_or_.class').attr('id',str)
答案 2 :(得分:0)
我认为this会对你有帮助。
如果您遇到任何问题,请告诉我。
OR
您可以动态创建整个控件并设置所有数据,请参阅this链接。 这非常有帮助。
我试过这个,你将拥有现有的ID,然后才能更改它的ID:
<script type="text/javascript">
function addName()
{
var k ='add';
document.getElementById('txttt').id = k;
//document.getElementById('two').value = 'hi'
var srchdata = document.getElementById(k).id;
alert(srchdata);
}
</script>
<body onload="addName()">
如果您的数据是动态的,那么可能会出现一些问题。
我使用alert
来显示文本框的新ID。
如果你想要其他方式然后告诉我怎么样? 这可能会出现什么问题?
答案 3 :(得分:0)
你能用这样的东西吗?
<script>
var a = "some_id";
document.write("<input type='text' id='"+a+"' />");
</script>