Javascript Noobie Jquery问题-为什么';这个简单的脚本不行吗?
我正在学习JQuery,我为我的主页编写了一个简单的AJAX外部脚本,它试图从一个单独的html文件加载一些静态标记,并在我悬停在链接上时将其插入我的主页Javascript Noobie Jquery问题-为什么';这个简单的脚本不行吗?,javascript,jquery,Javascript,Jquery,我正在学习JQuery,我为我的主页编写了一个简单的AJAX外部脚本,它试图从一个单独的html文件加载一些静态标记,并在我悬停在链接上时将其插入我的主页 $(function() { $('a#contact_link').hover(function() { alert('test1'); $('<div id="contact_container">').load('contact.htm #contact', functio
$(function()
{
$('a#contact_link').hover(function()
{
alert('test1');
$('<div id="contact_container">').load('contact.htm #contact', function()
{
alert('test2');
/*$(this) + '</div>';
$(this).hide()
.insertAfter('#header')
.slideDown(1000) */
});
return false;
});
});
$(函数()
{
$('a#contact_link')。悬停(函数()
{
警报(“test1”);
$('').load('contact.htm#contact',function()
{
警报(“test2”);
/*$(本)+'';
$(this.hide())
.insertAfter(“#标题”)
.向下滑动(1000)*/
});
返回false;
});
});
在这一点上,我只是想让“test2”警报框显示出来,这就是为什么下面的代码被注释掉了。目前,“test1”警报框是唯一显示的警报框,这意味着“test2”警报线永远不会被击中。你的想法
下面是我的contact.htm文件中的代码片段
<div id="contact_container">
<div id="contact">
<p>
<strong>NAME</strong>: My Name<br/>
<strong>EMAIL</strong>: My Email<br/>
<strong>SKYPE</strong>: My Skype Handle<br/>
<strong>ADDRESS</strong>: My Address<br/>
</p>
</div><!--end contact-->
</div><!--end contact_container-->
名字:我的名字
电子邮件:我的电子邮件
SKYPE:我的SKYPE手柄
地址:我的地址
非常感谢您的帮助 您使用不正确的选择器语法调用$.load,选择器不是HTML字符串,它必须符合以下设置的语法规则:
$('a#contact_link')。悬停(函数()
{
警报(“test1”);
$('div#contact#u container').load('contact.htm#contact',function()
{
警报(“test2”);
/*$(本)+'';
$(this.hide())
.insertAfter(“#标题”)
.向下滑动(1000)*/
});
返回false;
});
选择器可能是原因
$(function()
{
$('a#contact_link').hover(function()
{
alert('test1');
$('#contact_container').load('contact.htm', function()
{
alert('test2');
/*$(this) + '</div>';
$(this).hide()
.insertAfter('#header')
.slideDown(1000) */
});
return false;
});
});
$(函数()
{
$('a#contact_link')。悬停(函数()
{
警报(“test1”);
$('#contact_container').load('contact.htm',function()
{
警报(“test2”);
/*$(本)+'';
$(this.hide())
.insertAfter(“#标题”)
.向下滑动(1000)*/
});
返回false;
});
});
我认为您的#contact#u容器选择器不太符合犹太标准。在JQuery站点上查看选择器doco()。我觉得这样可能会好一点:
$(function()
{
$('a#contact_link').hover(function()
{
alert('test1');
$('#contact_container').load('contact.htm #contact', function()
{
alert('test2');
/*$(this) + '</div>';
$(this).hide()
.insertAfter('#header')
.slideDown(1000) */
});
return false;
});
});
$(函数()
{
$('a#contact_link')。悬停(函数()
{
警报(“test1”);
$('#contact_container')。加载('contact.htm#contact',函数()
{
警报(“test2”);
/*$(本)+'';
$(this.hide())
.insertAfter(“#标题”)
.向下滑动(1000)*/
});
返回false;
});
});
非常感谢,尽管它似乎仍然不起作用。还有其他想法吗?请注意,最好将大括号放在函数()的同一行。原因是Javascript执行分号插入。参考:我从来没有遇到过把花括号放在下一行的问题。@ChaosPandion-到目前为止你一定很幸运!将大括号放在同一行可以确保在插入分号时不会出现任何问题,这可能是非常棘手的错误。对于风格上的一个小变化,这是值得的。非常感谢,尽管这似乎也不起作用。不知道这里发生了什么。。。
$(function()
{
$('a#contact_link').hover(function()
{
alert('test1');
$('#contact_container').load('contact.htm #contact', function()
{
alert('test2');
/*$(this) + '</div>';
$(this).hide()
.insertAfter('#header')
.slideDown(1000) */
});
return false;
});
});