2015-09-25 56 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); 
    }); 
});