簡體   English   中英

清除jQuery元素的dom緩存?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM