Javascript 如何隐藏由AJAX调用生成的DIV?
我有一个关闭DIV的简单脚本。示例如下: 然而,我的问题是DIV“box”仅在ajax调用之后生成,ajax调用是搜索php脚本的一部分 你知道我需要什么来让这一切顺利吗?类似的问题:.live会有帮助:) 但您也可以在默认情况下显示div,并将其设置为display:none,然后在有人进行搜索时立即切换div a….live将帮助:) 但您也可以在默认情况下显示div并将其设置为display:none,然后在有人进行搜索时立即切换div a…尝试将其更改为Javascript 如何隐藏由AJAX调用生成的DIV?,javascript,jquery,Javascript,Jquery,我有一个关闭DIV的简单脚本。示例如下: 然而,我的问题是DIV“box”仅在ajax调用之后生成,ajax调用是搜索php脚本的一部分 你知道我需要什么来让这一切顺利吗?类似的问题:.live会有帮助:) 但您也可以在默认情况下显示div,并将其设置为display:none,然后在有人进行搜索时立即切换div a….live将帮助:) 但您也可以在默认情况下显示div并将其设置为display:none,然后在有人进行搜索时立即切换div a…尝试将其更改为 $(function(){
$(function(){
$("div.box a.close").live("click", function() {
$(this).parent("div.box").fadeOut();
});
});
用于支持事件处理程序,也可在加载dom后使用。尝试将其更改为
$(function(){
$("div.box a.close").live("click", function() {
$(this).parent("div.box").fadeOut();
});
});
用于支持事件处理程序,也是在加载dom之后。这通常取决于您希望它何时隐藏 例如,您可以使用
$('.select').live('click',function (){
$('div').hide();
});
您也可以使用委托
此外,您还可以在ajax成功时使用它,如果有必要,这通常取决于您希望它何时隐藏 例如,您可以使用
$('.select').live('click',function (){
$('div').hide();
});
您也可以使用委托
此外,如果需要,您可以在ajax成功上使用它,因为元素是动态创建的,所以您必须在或委托上使用它,即使在动态添加元素时也会触发事件 在
$(function(){
$(document).on("click", "div.box a.close", function() {
$(this).parent("div.box").fadeOut();
});
});
on()
参考:JQuery 1.7版+
使用委托
$(function(){
$(document).delegate("div.box a.close", "click", function() {
$(this).parent("div.box").fadeOut();
});
});
delegate()
参考:
由于元素是动态创建的,因此您必须在上使用
或委托
,即使在动态添加元素时也会触发事件
在
$(function(){
$(document).on("click", "div.box a.close", function() {
$(this).parent("div.box").fadeOut();
});
});
on()
参考:JQuery 1.7版+
使用委托
$(function(){
$(document).delegate("div.box a.close", "click", function() {
$(this).parent("div.box").fadeOut();
});
});
delegate()
参考:
使用AJAX动态插入元素时,使用原始
.bind()
或注册的任何处理程序。click()
方法将不起作用,因为它们只对当时已在DOM中的元素起作用
您需要:
如果使用1.7之前的jQuery,请改用
.live()
。使用AJAX动态插入元素时,使用原始.bind()
或注册的任何处理程序。click()
方法将不起作用,因为它们只作用于DOM中当时已经存在的元素
您需要:
如果在1.7之前使用jQuery,请改用
.live()
。下面的Javascript应该可以工作,它使用jQuery的委托函数,因为在jQuery中不推荐使用live
$("#searchresultdata").delegate("a.close", "click", function() {
$(this).closest("div.box").fadeOut();
});
下面的Javascript应该可以工作,它使用jquery的委托函数,因为在jquery中不推荐使用live
$("#searchresultdata").delegate("a.close", "click", function() {
$(this).closest("div.box").fadeOut();
});
你需要对事件进行分析。对于您的站点,请使用以下代码:
$('#searchresultdata').delegate('div.search-sbox a.close', 'click', function() {
$(this).parent("div.search-sbox").fadeOut();
});
你需要对事件进行分析。对于您的站点,请使用以下代码:
$('#searchresultdata').delegate('div.search-sbox a.close', 'click', function() {
$(this).parent("div.search-sbox").fadeOut();
});
#searchresultdata{display:none}:)35; searchresultdata{display:none}:)
.live()
从jQuery 1.7开始就不推荐使用。live()从jQuery 1.7开始就不推荐使用委托。非常感谢您的帮助。使用代理非常有效。非常感谢你的帮助。