我正在尝试将内容添加到文本区域。它不起作用......
<html><head></head><body>
<div id="wrapper">
<div id="leftc">
text here
<a href="#" onclick="javascript: $('wrapper').$('rightx').$('thebox').value += 'TEST\ntest\n\ntest">Add</a>
</div>
<div id="rightx">
<textarea id="thebox" rows="10" cols="50"></textarea>
</div>
</div>
</body></html>
有什么想法吗?
编辑:我使用的解决方案:(感谢大家深入了解我的错误)
<a href="#" onclick="javascript:document.getElementById('thebox').value += 'TEST\ntest\n\ntest';">Add</a>
答案 0 :(得分:3)
这段代码毫无意义,并且充满了错误:
$('wrapper').$('rightx').$('thebox').value += 'TEST\ntest\n\ntest
正确的jQuery代码是:
$('#thebox').get(0).value += 'TEST\ntest\n\ntest';
或者,在普通的javascript中,这甚至可能更简单:
document.getElementById("thebox").value += 'TEST\ntest\n\ntest';
您遇到以下错误:
答案 1 :(得分:2)
看起来你正在混合传统的javascript与jquery。只需在jQuery中就可以执行此操作
$('#thebox').val($('#thebox').val()+"TEST");
作为一个观点,你也错过了示例末尾测试字符串中的结尾引用。
另外,如果您在Firefox中没有使用Chrome调试器或Firebug之类的东西,我建议您使用可以输出其中一些简单错误的浏览器。它将为您节省大量时间和挫折感,在浏览器中看到JavaScript错误。
答案 2 :(得分:2)
它没有用,因为它几乎都是错的: - )
<a href="#" onclick="$('#thebox')[0].value += 'TEST\ntest\n\ntest'">Add</a>
通过“id”值向下走DOM是没有意义的,因为“id”属性无论如何都需要具有全局唯一值。因此,您需要担心的唯一“id”是<textarea>
元素本身的那个。
答案 3 :(得分:0)
您只需要$('#thebox').val('test');
答案 4 :(得分:0)
<html><head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script></head><body>
<div id="wrapper">
<div id="leftc">
text here
<a href="#" onclick="javascript: $('#thebox').val($('#thebox').val() + 'TEST\ntest\n\ntest')">Add</a>
</div>
<div id="rightx">
<textarea id="thebox" rows="10" cols="50"></textarea>
</div>
</div>
</body></html>
答案 5 :(得分:-1)
也许您可以尝试使用额外的'TEST\ntest\n\ntest
关闭'
字符串。