jquery 添加到 textarea text() 前面

标签 jquery text textarea prepend

我有一个文本区域。我可以设置它的文本

$("#mytextarea").text("foo")

我可以像这样添加到文本区域:

$("#mytextarea").prepend("foo")

但是我不能像这样添加到 jquery text() 对象之前:

$("#mytextarea").text().prepend("foo")

我想这样做的原因是,如果我的用户让我在前面添加此文本:

$("#mytextarea").prepend("<script>alert('lol i haxed uuu!')</script>")

...脚本执行但我输了。

帮忙?

最佳答案

您需要修改val()属性:

$('#mytextarea').val(function(index, old) { return '...' + old; });

顺便说一句,获取textarea内容的正确方法是调用val(),而不是text():

关于jquery 添加到 textarea text() 前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2983011/

相关文章:

javascript - 在文本框值更改时触发函数而不是 keyup 事件

javascript - 从单个点拉伸(stretch)/扭曲背景图像

java - 如何在 JavaFX 中通过 CSS 对文本获得浮雕(凸起的字母)效果?

linux - TextMate bundle 在所选的每行上方插入一行文本?

Java Swing 更新 JTextArea 中的字符串

Java Swing GUI 客户端和服务器聊天应用程序 TextArea 未更新

textarea - 如何更改文本区域和文本框的背景颜色 - javascript

jquery:将多个功能变成一个插件

javascript - 相对于窗口缩放 CSS

html - 仅文本而不是父 span/div/body 的 CSS 背景?