我正在尝试通过html中的链接执行这些jQuery命令:
$('#mov').click(function() {
$('#twastream').hide();
$('#ownstream').hide();
$('#movstream').fadeIn();
}
这应该隐藏两个元素并在点击id“mov”的链接后显示一个,但什么也没发生。这是链接:
<a href="test/#" onclick="mov()">Click here!</a>
这是元素;这三种格式都相似。
<div class="movstream" id="movstream">
为了使初始代码正常运行,我应该如何更改这些格式?
答案 0 :(得分:3)
您的锚标记上需要有一个id才能使jquery选择器$('#mov')
起作用:
<a href="test/#" id="mov">Click here!</a>
在你的锚上使用onclick="mov()"
意味着执行一个名为mov
的函数,这是一个未定义的函数
您还需要将.click
事件包裹在$(document).ready()
:
$(document).ready(function(){
$('#mov').click(function() {
$('#twastream').hide();
$('#ownstream').hide();
$('#movstream').fadeIn();
}
});
否则,当脚本运行
时,该元素可能不存在答案 1 :(得分:0)
jQuery的优势在于能够完成这样平凡的任务。
首先,为您的链接指定类或 id (如果在任何给定数量的链接上发生这种情况,该类会起作用)然后将您的事件绑定到背景,像这样:
HTML
<a href="/#" class="test" />
<!--OR-->
<a href="/#" id="test" />
的JavaScript
$(".test").click(function(){ //Or $("#test")
$('#twastream').hide();
$('#ownstream').hide();
$('#movstream').fadeIn();
});
也可以查看jQuery API。
答案 2 :(得分:0)
由于您没有在锚点上指定ID,因此不会发生任何事情。 jQuery正在寻找一个id为“mov”的元素的点击,但是没有一个带有该id的元素。
答案 3 :(得分:0)
你应该在准备好的处理程序中监听你的事件:
$(function() {
$('#mov').click(function() {
$('#twastream').hide();
$('#ownstream').hide();
$('#movstream').fadeIn();
});
});
您需要确保.click
函数正确指定了选择器。请注意,$('#mov')
是id
mov
项的选择器。这也适用于类。
<a id="mov">Click here!</a>
<div class="twastream" id="twastream">Twas</div>
<div class="ownstream" id="ownstream">Own</div>
<div class="movstream" id="movstream">Mov</div>