gpt4 book ai didi

jQuery 可以在函数内部工作,但不能在函数外部工作?

转载 作者:行者123 更新时间:2023-12-01 06:55:03 25 4
gpt4 key购买 nike

在以下 jQuery 代码中:

    $(document).ready(function(){   

function parse(document){
$(document).find("entry").each(function(){
$("#items").append(
'<h3><a href="#">'+$(this).find('title').text()+'</a></h3>'+
'<div> '+$(this).find('summary').text()+'</div>'
);
$('#items > div').hide();
});
}

$.ajax({
type: "GET",
url: 'www.---.com', // name of file you want to parse
dataType: "xml",
success: parse,
error: function(){alert("Error: Something went wrong");}
});

//ANIMATION
$('#items h3').click(function(){
$(this).next().animate({'height':'toggle'}, 'slow', 'easeOutBounce');
});

$('#footer').click(function(){alert("Why does this work, but not the bouncing panels?")});

});

当我将标记为//ANIMATION 的部分放入 parse() 函数中时,该部分可以工作,但非常不稳定。当放在它外面时,如上所述,它根本不会运行。

为什么?我真的把头撞在墙上试图理解为什么它不能运行。

最佳答案

原因是因为在 parse 中您创建了 h3,否则它们不存在,因此事件处理程序无法绑定(bind)到它们。

使用http://api.jquery.com/on/

 $("#items").on('click', 'h3',
function(){
$(this).next().animate({'height':'toggle'}, 'slow', 'easeOutBounce');
}
);

关于jQuery 可以在函数内部工作,但不能在函数外部工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10185309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com