将jquery绑定到动态加载的内容
我有以下html树:
我使用ajax将以下内容加载到#content-wrap1
:
哪个成功发生,结果HTML如下所示:
.
现在我想点击动态加载的链接来加载以下内容:
所以最终的HTML看起来像这样:
.
我听说我应该使用on()
将jquery绑定到动态加载的内容。 所以我做了以下事情:
('#section1').on("click", "#section1#content-wrap1#content a", function(){ alert("1"); toLoad = $(this).attr('href')+' #content'; $('content-wrap1').load(toLoad); }
问题1 :这是on()
的正确用法吗? 因为当我点击链接时,我没有在屏幕上看到alert 1
,页面只是导航到https://stackoverflow.com/questions/13107715/binding-jquery-to-dynamically-loaded-content/whoweare.php
问题2 :Incase我确实设法获得警报,是否有可能通过点击链接来加载替换首先点击的链接的内容?
问题1:这是on()的正确用法吗? 因为当我点击链接时,我没有在屏幕上看到警报1,页面只是导航到whoweare.php
- 你错过了一个美元符号:
$
和使用你绑定同一个id的文件是不正确的,如果你热衷于: javascript中“$”的含义是什么?如果你更想知道为什么.on
jQuery live方法有什么问题?
码
$(document).on("click", "#content a", function(){ alert("1"); toLoad = $(this).attr('href')+' #content'; $('content-wrap1').load(toLoad); })
问题2: Incase我确实设法获得警报,是否有可能通过点击链接来加载替换首先点击的链接的内容?
- 这可能会帮助你: jQuery如何替换src url
问题1
你的绑定语句应该是这样的:
$(document).on("click", "#section1 #content-wrap1 #content a", function() { ... });
请注意,我们现在绑定到document
对象,以容纳与动态或其他方式加载的第二个选择器( #section1 #content-wrap1 #content a
)匹配的所有元素。
另外,请注意第二个选择器(空格)中的校正。
问题2
是否可以通过理论上点击链接来加载替换首先点击的链接的内容?
是。 完全。