我有一个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。

===============>>#1 票数:2

您需要访问实际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/

===============>>#2 票数:1 已采纳

更改文本区域中的文本不会影响实际的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/

===============>>#3 票数:0

因为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> 

===============>>#4 票数:0

重复的答案我会说如何通过jQuery获取包含更新的值属性的html()表单?

我感觉无法使用jQuery删除或禁用DOM缓存。

===============>>#5 票数:0

 $(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> 

  ask by Matrix translate from so

未解决问题?本站智能推荐:

1回复

用jquery更改DOM元素CSS

我有两个可点击的标题。 当您单击一个时,它变为蓝色。 如果单击另一个,它会变为蓝色,但应“取消单击”另一个标题并将其改回黑色。 我正在尝试使用jQuery not ... 或类似的东西。 编辑:我知道我可以这样做...但是想使用jQuery函数来减少代码大小。 再加上
4回复

jQuery的同步DOM元素值

我有一个像这样的DOM元素: 我在页面上的其他地方还有许多其他元素需要与“主值”同步。 更改“主值”的值时,我希望所有同步的元素都随之更新。 应该影响: 我不希望每次更改“主值”时都必须搜索所有元素,以便找到已同步的元素以进行更改。 我认为当需要搜索许多元素时,
3回复

通过jQuery访问DOM元素

假设我的代码片段中包含以下DOM元素: 假设我想遍历div#t2的内容。 $("#t2").children()给我<b>和<p>标签。 那么我应该如何访问它以获取值为包含“ Hi I am ”,“ <b>....</b> ”,
3回复

jQuery不更新DOM元素HTML

我正在尝试做一个向上/向下投票系统,但是当我从API获得响应时,我似乎无法定位到我想要的元素,这是li内“ score”类的范围。 我的JS处理程序 触发事件的html视图及其下的“得分”区域。
1回复

使用jQuery更新DOM元素

我正在寻找一种方法来更新正在处理的网页,以作为报告供多个不同的人来回传递。 我正在使用表单来接收多个数据,并且想知道如何才能使它立即将内容添加到正确标题下的div中。 我当前正在使用jquery并追加,它看起来像添加所需的输入,然后立即将其删除。 我也尝试使用.live,但它根本没有出现。
1回复

JQUERY DOM:选择在Dom加载后创建的元素

我正在一个项目中,当调用一个函数时,我需要更改某个类的所有选择输入的值。 问题在于,首次加载dom时,某些选择输入不存在,它们是通过Javascript动态创建的。 该功能适用​​于选择加载页面时存在的所有选择输入,但不适用于动态添加到dom的任何选择输入。 我了解使用.on进行事
2回复

缓存HTML字符串或DOM元素? [关闭]

我正在使用javascript开发文件管理器类型的应用程序。 我执行ajax请求以获取目录的内容,并且我正考虑将其缓存到变量中,以防万一用户导航到另一个目录然后又回来了(所以我不必再次请求该列表)。 但是我应该在变量中存储什么? HTML元素对象还是HTML字符串? 哪个使用更少的浏览器
5回复

Jquery选择DOM元素并访问内部元素

我正在尝试制作小脚本。 我有300个内部div的主div,我通过以下方式访问它们: 所以它记录了我所有的内部div。 现在我想访问标签并阅读这些找到的div的内部html。 我怎么能这样做? 试图搞乱ele.label & ele.$("label") ,但它不起作用。
3回复

用jQuery清除元素的属性

我正在设计一种基本形式。 我有输入文字和按钮。 当我单击按钮时,如果“输入文本”中没有文本,则“输入文本”中将出现一个“ x”图标。 我把那个图标与jQuery。 但我不知道如何删除它。 当用户在输入文本中单击时,我想清除此图标。 这是我的jQuery代码。 这是我的ht
4回复

两次追加DOM元素(jQuery)

有人可以解释为什么下面的代码片段不会将<foo>添加到#a和#b吗? HTML: JS: 的jsfiddle 编辑:感谢有用的点, .append()移动元素的事实解释了这种行为。 由于我的应用程序中的元素实际上是Backbone View的.el ,我