DOM Scripting Javascript,设置元素值

时间:2014-04-21 18:14:18

标签: javascript dom

我的目标是通过点击另一个按钮在屏幕上添加一个按钮。 我可以成功添加它们但它们是空白的(即无文本)。

我尝试使用此技术设置值:

addButton.setAttribute("value", "Click Me");

这失败了,奇怪的是我能够成功设置了 具有setAttribute函数的元素ID。

然后我尝试了以下内容:

var x = document.getElementById("buttonId");
x.value="Click Me";

以上导致按钮完全没有添加。

也许我错过了一些东西,但我想不出为什么第一种方法 不行。

注意:这些按钮都是动态创建的,所以标准:

<input type="button" value="click me"/>

是不够的。

任何帮助表示感谢。

2 个答案:

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

试试这个。

示例小提琴:http://jsfiddle.net/kailashyadav/4Q8Fd/

答案 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将事件绑定到按钮点击。