[英]clear dom cache of jquery element?
我有一個jQuery元素$ foo
它包含帶有textarea的html。 但是,如果我更改textarea的值並在此更改后使用$ foo.html(),則無法實現html結果...
(壞)范例: http : //jsfiddle.net/sNYYD/781/
var $foo = $('#foo'); console.log($foo.html());
$foo.on('keyup', function(){console.log($foo.html());});
如何刪除或禁用jQuery的DOM緩存?
編輯示例=============================================== ======
我有一個簡單的例子,但是答案很糟糕,對不起,我的用例比較特殊,看起來像這樣:
http://jsfiddle.net/sNYYD/790/
我需要知道如何在$.cache
找到刪除我的元素的好鍵,以在我的全局$.cache
中實現元素的html。
您需要訪問實際textarea的值:
var $foo = $('#foo'); console.log($foo.html()); $foo.on('keyup', function(){console.log($foo.find('textarea').val());});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="foo"> <textarea>testing 123</textarea> </div>
請參閱更新的小提琴: http : //jsfiddle.net/sNYYD/782/
更改文本區域中的文本不會影響實際的html,這就是為什么您總是獲得相同的值的原因。 如果僅需要文本,則可以使用其他解決方案之一,但是如果您需要整個html,則必須采用此值並將其放入實際的html中,如下所示:
var $foo = $('#foo');
console.log($foo.html());
$foo.on('keyup', function()
{
$("#textArea").html($("#textArea").val());
console.log($foo.html());
});
UPDATE這是新示例的解決方案。
JSFiddle: http : //jsfiddle.net/sNYYD/792/
因為textarea
僅通過val()
顯示數據,而不是html()
。 您正在調用唯一的HTML,但是Textarea不支持通過html()
函數調用顯示鍵入的text content
var $foo = $('#foo'); console.log($foo.html()); $foo.on('keyup', function() { console.log($foo.html()); console.log($foo.find('textarea').val()); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!-- By http://jquery4u.com / Sam Deering --> <div id="foo"> <textarea>test</textarea> </div>
重復的答案我會說如何通過jQuery獲取包含更新的值屬性的html()表單?
我感覺無法使用jQuery刪除或禁用DOM緩存。
$(document).ready(function(){ $("textarea").keyup(function(){ $(this).html(console.log($(this).val())) }) })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="foo"> <textarea>testing 123</textarea> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.