jquery .text()或.html()不起作用

前端之家收集整理的这篇文章主要介绍了jquery .text()或.html()不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在动态生成div并希望通过html()/ text()更改其内容,但它不起作用.

这是代码

var div = '<div class="ps_album"><img alt="" src="images/1px.gif" class="thmb"><div class="ps_desc"><h2>title</h2></div></div>';

$(div).find('.ps_desc').html('<h1>Hello</h1>');
$(div).appendTo('body');

在上面的代码中,第3行即

$(div).find('.ps_desc').html('<h1>Hello</h1>');

不工作..为什么?

解决方法

问题是你正在重新评估$(div).对尚未添加的DOM片段进行操作的第一行不会更新字符串值“div”.因此,第二次创建$(div)时,您将重新开始使用原始片段!

试试这个:

$(div).find('.ps_desc').html('<h1>Hello World</h1>').end().appendTo($('body'));

jQuery .end()方法“弹出”前面.find()调用效果,所以在这种情况下它会让你回到原始导航点,这是你从字符串构建的片段.因此,对.appendTo()的后续调用将作用于外部< div>你已经建成了,所以应该做正确的事情.

原文链接:https://www.f2er.com/jquery/177319.html

猜你在找的jQuery相关文章