jQuery .html()没有设置文本区域的值

时间:2012-04-14 08:05:10

标签: jquery textarea

    $(document).ready( function () {
        $('#test').click(function(){
            videofix();
        });
    }
    function videofix(){
        $('#article').text($('#article').val().replace(/\[video\](http:\/\/(www\.)?youtube\.com\/watch\?v=([a-zA-Z0-9]+))\[\/video]/g,'[video=youtube;$3]$1[/video]'));
    }
            </script>
    <textarea id="article" name="article"></textarea><br>
    <input type="button" id="test" value="test">

基本上我的问题是,videofix函数在被调用时,在工作时它不会替换textarea的文本。我实际上已经将我的代码复制到了jsfiddle并在那里尝试了它并且它有效。所以我不确定到底发生了什么。

2 个答案:

答案 0 :(得分:7)

要将值设置为textarea,您应使用val()方法而不是html();

$("#article").val("something");

答案 1 :(得分:2)

我在代码中看到的唯一文本区域为id="article"。而且就我所见,你永远不会使用.html()设置它的价值。

无论如何,如果.html()不起作用,可以试试这个:

$("#article").empty().append(data);