2015-09-25 54 views
1

我有一个文本中,我把HTML代码,并动态预览preview DIV这里面HTML:取Web动态创建的文本

<div id="preview"> 
</div> 

<textarea id="fooBar"> 
    <div style="background-color:green;"></div> 
</textarea> 

jQuery代码看起来是这样的:

$(document).ready(function() { 
    var html = $('#fooBar').text(); 
    $('#preview').html(html); 
    $('#fooBar').on('keyup', function() { 
     var html = $(this).text(); 
     $('#preview').html(html); 
    }); 
}); 

的问题在于更改HTML代码不会无所事事。控制台登录html变量总是显示相同的初始内容,但没有更改。

我该如何解决这个问题,为什么这样呢?

回答

2

只需将文本()更改为val()。

$(document).ready(function() { 
    var html = $('#fooBar').text(); 
    $('#preview').html(html); 
    $('#fooBar').on('keyup', function() { 
     var html = $(this).val(); 
     $('#preview').html(html); 
    }); 
}); 
0

我认为你应该使用val()而不是text()。 val()用于表单元素,如textarea,而text()是HTML元素。我希望这会起作用

<div id="preview"></div> 
<textarea id="fooBar"> 
     <div style="background-color:green;"></div> 
    </textarea>  


    <script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
    <script> 
    $(document).ready(function() { 
    var html = $('#fooBar').val(); 
    $('#preview').html(html); 
    $('#fooBar').on('keyup', function() { 
     var html = $(this).val(); 
     $('#preview').html(html); 
    }); 
});