JQuery - 使用.html()设置后获取.html()
问题描述:
我使用的jQuery与localStorage的力量。JQuery - 使用.html()设置后获取.html()
以下是我有:
<textarea name="localStorageString" id="localStorageString"></textarea>
<script>
var userJson = localStorage.getItem('userJson');
$('#localStorageString').html(userJson);
$('#localStorageString').keyup(function(){
alert($(this).html());
});
的textarea
填写正确,问题是,当我修改它,它总是提醒相同的值(由html(userJson)
设置)。
有什么想法?
答
我忘了这一个。为什么
.html()
不起作用?
html()
- 这是原生JavaScript .innerHTML
函数。它将标签内的所有内容(所有节点)都视为一个字符串。
<div id="Node">
<a href="#">Hello</a>
</div>
console.info($('#Node').html()); // <a href="#">Hello</a>
val()
- 那就是form.element.value
。
答
请勿使用html()
,请使用val()
。
答
简单:不要在<textarea>
(或其他表单元素)上使用.html()
。使用.val()
(或.value
)。
$('#localStorageString').val(userJson)
.keyup(function() {
console.log(this.value);
});
好的。但在textarea的情况下,为什么不会是相同的结果? – Max13
其jQuery API。我想它为您提供了对表单元素及其值的统一访问。这真的很有道理。 – erlrange