shi*_*ino 5 jquery text textarea prepend
我有一个文本区域.我可以设置它的文本
$("#mytextarea").text("foo")
Run Code Online (Sandbox Code Playgroud)
我可以像这样在文本区域前面加:
$("#mytextarea").prepend("foo")
Run Code Online (Sandbox Code Playgroud)
但是我不能像这样在jquery text()对象之前添加:
$("#mytextarea").text().prepend("foo")
Run Code Online (Sandbox Code Playgroud)
我想这样做的原因是,如果我的用户让我在前面添加这个文本:
$("#mytextarea").prepend("<script>alert('lol i haxed uuu!')</script>")
Run Code Online (Sandbox Code Playgroud)
...脚本执行,我输了.
救命?
您需要修改val()
属性:
$('#mytextarea').val(function(index, old) { return '...' + old; });
Run Code Online (Sandbox Code Playgroud)
顺便说一下,获取textarea内容的正确方法是调用val()
,而不是text()
: