jQuery:$(“#myid”)。html('<span id =“inserted”>插入部分</span>')

时间:2010-12-01 05:10:39

标签: jquery html ajax

假设我正在使用jQuery进行以下操作:

$("#myid").html('<span id="inserted">inserted portion</span>')

执行此操作后,如果我查看页面源,HTML的插入部分(id为“inserted”的span标记)在那里不可用,而且我只使用$(“#inserted”)进行的任何进一步操作失败!

当我们通过AJAX调用更新(我们通常使用jQuery html()方法插入新部件)部分页面时,这成为一个主要问题,并尝试在更新的部分中执行更多操作。

请有人解释我错过了什么?

3 个答案:

答案 0 :(得分:2)

你为id插入绑定的任何事件....使用live,这将绑定未来的html元素或运行时添加的html

http://api.jquery.com/live/

$('#inserted ').live('click', function() {
  // Live handler called.
});

答案 1 :(得分:2)

这是因为页面源只是... source ..它被加载到浏览器中。加载文档后,您可以通过jquery Document Ready函数操作文档(在加载所有图像等后执行)。

如果您想检查修改后的HTML / CSS /无论使用调试工具如firebug还是Chrome / Safari开发人员工具。

如果$("#inserted)操作失败,我建议发布一个具体的例子。如果您不发布任何细节,我们无法真正帮助您。

答案 2 :(得分:2)

如果#myid存在,则新元素将存在于浏览器中文档的内部表示中(“DOM”)。它不应该显示在“视图源”上,因为页面的源是原始的html(和js),但是从那时起的任何操作都应该完全像在源中存在一样。