这类问题往往会立即遭到否定投票。如果您有答案,请帮忙!感谢。
我有一个脚本,可以在dom中添加一个textarea。当我输入数据并稍后尝试检索它时,该值返回空。
这成功设置了textarea的值:
$("textarea").each(function(){
$(this).val("ASDFASDF");
});
这成功设置了textarea的css后台属性:
$("textarea").each(function(){
$(this).css({"border":"2px solid red"});
});
但这不会返回值:
$("textarea").each(function(){
alert($(this).val());
});
我尝试过.text(),. html(),. value - 它们都没有返回任何内容!它不会警告“undefined”或null,而只是一个空值。
我无法弄清楚原因。
提前感谢您的建议。
更多信息
HTML是:
<textarea id="Bio" rows="4"></textarea>
JQuery Library: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
加载dom后,按钮会触发功能。
这里是代码的简化版本: http://social-gamer.com/textarea.html
答案 0 :(得分:4)
它确实有效,还有其他问题。你可以see it working here
<textarea>Hello One</textarea>
<textarea>Hello One two</textarea>
<textarea>Hello One two three</textarea>
$("textarea").each(function(){
alert($(this).val());
});
其他笔记
当您想要在所有底层对象上调用方法时,不需要each
。
$("textarea").each(function(){
$(this).val("ASDFASDF");
});
$("textarea").each(function(){
$(this).css({"border":"2px solid red"});
});
它可以是
$("textarea").val("ASDFASDF");
$("textarea").css({"border":"2px solid red"});
然而,在阅读它时,你必须调用每个,否则你将从jQuery集合中的第一个对象获取值
答案 1 :(得分:4)
问题最终成为重复的ID。通常我会先检查这个但是我甚至没有通过它的ID访问元素,而只是输入类型“textarea”。
因此,即使按类定位元素或仅仅根据它在DOM中的位置,如果它具有重复的ID,它也将失败。我之前并没有真正考虑过这个问题,因为我没有通过ID获得这个想法!
答案 2 :(得分:-1)
你好吗,
听一下,TextArea是唯一一个没有得到的输入,并用val()设置值,因为当你把值放在textarea上时,你就把它放在标签里面。
有一个例子
<textarea>Inside is the content so to
get the content inside of tags you use HTML or TEXT</textarea>
因此,当您尝试获取数据时,您必须执行此操作:
$('textarea').text();
用于设置textarea的数据:
$('textarea').text("HERE'S THE CONTENT.");
这是一个小提琴,你可以看到我所说的一切
祝你好运,再见