jQuery / Ajax-选择器不起作用
|
当我使用jQuery.ajax()将来自某些PHP的HTML内容加载到页面上的元素时,jQuery选择器不适用于所加载的HTML中的元素。
这是一个普遍的问题还是我必须举一个例子?
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<script src=\"../jquery.js\" type=\"text/javascript\"></script>
</head>
<body>
<div id=\"htmlcontent\">
<a href=\"#\">Blah</a><br />
<a href=\"#\">Bleh</a><br />
</div>
<div id=\"replacecontent\">
<br /><a href=\"#\">Replace content</a>
</div>
<script type=\"text/javascript\">
$(\"#htmlcontent a\").click(function() {
alert(\"Clicked on a link!\");
});
$(\"#replacecontent a\").click(function() {
$(\"#htmlcontent\").html(\'<a href=\"#\">This doesn\'t alert(). Why?</a>\');
});
</script>
</body>
好吧,这并不难。 :)
没有找到相关结果
已邀请:
3 个回复
痴浪墨
坛沤疲撑拆
或
。 这是“ 4”事件附件的说明: .live()方法能够影响 尚未添加的元素 通过事件使用到DOM 委托:绑定到 祖先元素负责 其触发的事件 子孙。处理程序传递给 .live()从未绑定到元素; 相反,.live()绑定了一个特殊的 DOM树根的处理程序。
缔恃钨
我更喜欢
而不是
,因为这样效率更高,这为我们提供了一种为选择器指定上下文的简便方法。如果使用
,则必须将整个文档上的每次单击与指定的选择器进行比较,而在
容器中仅需使用
。