我的印象是“val()”应该用于输入元素,“text()”应该用于所有其他元素。
但是,当我执行以下操作时:
$("<input/>").val("test")
我得到了
[<input>]
当我采取以下措施时:
$("<input/>").text("test")
我得到了
[<input>test</input>]
后者是我正在寻找的。 p>
使用jquery创建一个我缺少的元素时会有什么不同吗?我的实际情况比这复杂得多,但我为了这个问题的目的简化了它。
答案 0 :(得分:4)
.val()用于HTML属性“value”
.text()用于innerHTML(类似于.html())
答案 1 :(得分:0)
.text()
返回所有匹配元素的组合文本内容(例如p,div等).val()
用于获取输入元素的值(例如输入,选择,等等)
根据官方文档.text()
不应与input elements
一起使用。
这是一个reference。
更新:尝试通过纯javascript实现此目的,这样:
HTML:
<input type='text' id='myinput' />
Javascript:
赋值到输入元素:
document.getElementById("myinput").value = 'Your value here'
以这种方式和获取价值
var myinputval = document.getElementById("myinput").value
答案 2 :(得分:0)
如果您将值传递给.text()
或.val()
,则会将该数据发送到匹配的元素。如果你试图瞄准这个:
<input type="text" val="the value" />
尝试在jQuery中使用它:
var $testRes = $('input').attr('val');
console.log($testRes); // the value