我的目标是通过点击另一个按钮在屏幕上添加一个按钮。 我可以成功添加它们但它们是空白的(即无文本)。
我尝试使用此技术设置值:
addButton.setAttribute("value", "Click Me");
这失败了,奇怪的是我能够成功设置了 具有setAttribute函数的元素ID。
然后我尝试了以下内容:
var x = document.getElementById("buttonId");
x.value="Click Me";
以上导致按钮完全没有添加。
也许我错过了一些东西,但我想不出为什么第一种方法 不行。
注意:这些按钮都是动态创建的,所以标准:
<input type="button" value="click me"/>
是不够的。
任何帮助表示感谢。
答案 0 :(得分:0)
function addButton(elementId, value, name, type) {
//Create an input type dynamically.
var element = document.createElement("input");
//Assign different attributes to the element.
element.type = type;
element.value = value; // Really? You want the default value to be the type string?
element.name = name; // And the name too?
var foo = document.getElementById(elementId);
//Append the element in page (in span).
foo.appendChild(element);
}
试试这个。
答案 1 :(得分:0)
以下是与jsfiddle相关联的按钮的代码:
$('#createButton').on('click', function () {
var button = document.createElement('button');
button.innerHTML = 'hello';
button.setAttribute('type', 'button');
$('#placeForButton').html(button);
});
注意我设置了innerHTML,因为input
依赖于value
属性,button
依赖于打开和关闭HTML属性。因此,标记之间的值是设置button
文本的值。这转化为innerHTML
。
我只使用JQuery将事件绑定到按钮点击。