使用以下代码
var newDiv = $(document.createElement("div"));
var newTextBox;
newTextBox = $(document.createElement("input"))
.attr("type", "text")
.attr("id", "textbox")
.attr("name", "textbox");
newTextBox.val("text");
newDiv.append(newTextBox);
alert(newDiv.html());
Run Code Online (Sandbox Code Playgroud)
我得到以下内容
<input name="textbox" id="textbox" type="text">
Run Code Online (Sandbox Code Playgroud)
我得到同样的东西
$("#textbox").val("test");
Run Code Online (Sandbox Code Playgroud)
运用
newTextBox = $("<input/>");
Run Code Online (Sandbox Code Playgroud)
也没帮助
我的价值在哪里?
编辑:SOLTUION
所以,进一步在堆栈中我将我构建的DOM转换为字符串,因为 - 就像munch所提到的那样 - 动态值没有被添加到标记中,它没有显示出来.
谢谢您的帮助
jQuery不会将值放入创建的元素生成的html中.双方.attr('value', 'blah')并.val()得到一个什么样的被输入或在文本输入改变当前值,让你看到这个值,当你在网页上输入或将其提交到服务器.但是,在查看html时你不会看到它.
你仍然可以操纵所有你想要的值,你只是不会看到萤火虫的任何变化,就像你更改类,造型等.
AFAIK,没有使用jQuery也是如此.同样的事情发生在:
document.getElementById('textbox').value = 'my text';
Run Code Online (Sandbox Code Playgroud)
value属性仅用于设置服务器的某些值.javascript不需要它.
此外,它取决于您正在使用的输入类型.例如,您将看到value属性更改为隐藏输入,但不会更改文本框.
编辑:
通过将newDiv附加到正文,文本框和值将使用您的代码显示.这是一个测试页面.您可以看到代码和预览发生的事情.但是,由于上述原因,警报并未显示任何"值"属性.
| 归档时间: |
|
| 查看次数: |
32492 次 |
| 最近记录: |