Noobie Jquery问题 – 为什么这个简单的脚本不起作用?

我正在学习JQuery,我为我的主页编写了一个简单的AJAX外部脚本,试图从单独的html文件加载一些静态标记,当我将鼠标hover在链接上时将其插入我的主页…

$(function() { $('a#contact_link').hover(function() { alert('test1'); $('
').load('contact.htm #contact', function() { alert('test2'); /*$(this) + '
'; $(this).hide() .insertAfter('#header') .slideDown(1000) */ }); return false; }); });

在这一点上,我只是试图让’test2’警告框显示,这就是为什么我有下面的代码注释掉了。 目前,’test1’警告框是唯一显示的警告框,意味着’test2’警报线永远不会被击中。 你的意见?

这是我的contact.htm文件中的代码片段……

 

NAME: My Name
EMAIL: My Email
SKYPE: My Skype Handle
ADDRESS: My Address

非常感谢您的帮助!

您使用错误的选择器语法调用$ .load,选择器不是HTML字符串,它必须符合jQuery选择器手册设置的语法规则:

 $('a#contact_link').hover(function() { alert('test1'); $('div#contact_container').load('contact.htm #contact', function() { alert('test2'); /*$(this) + ''; $(this).hide() .insertAfter('#header') .slideDown(1000) */ }); return false; }); 

选择器可能是原因。

 $(function() { $('a#contact_link').hover(function() { alert('test1'); $('#contact_container').load('contact.htm', function() { alert('test2'); /*$(this) + ''; $(this).hide() .insertAfter('#header') .slideDown(1000) */ }); return false; }); }); 

我相信你的#contact_container选择器不太合适。 在JQuery站点上查看选择器doco( http://docs.jquery.com/Selectors )。 我觉得这样的事情可能会好一些:

 $(function() { $('a#contact_link').hover(function() { alert('test1'); $('#contact_container').load('contact.htm #contact', function() { alert('test2'); /*$(this) + ''; $(this).hide() .insertAfter('#header') .slideDown(1000) */ }); return false; }); });