jQuery显示/隐藏不工作
试图看看所有其他问题,为什么这不工作,没有运气。我在我的头加载此:jQuery显示/隐藏不工作
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
这里是我的脚本:
这里是打算的链接调用脚本:
<ul>
<li><a id="#patient-portal-link">Patient Portal</a></li>
<li><a id="#knee-link">Knee</a></li>
<li><a id="#shoulder-link">Shoulder</a></li>
</ul>
然后我有三个div,命名如下:
<div id="patient-portal-tab">Patient portal content</div>
<div id="knee-tab">Knee content</div>
<div id="shoulder-tab">Shoulder content</div>
knee
和shoulder
div在页面加载时正确隐藏,但链接无效。我使用的是谷歌浏览器,当检查元素时,我没有得到任何为javascript报告的错误。我究竟做错了什么?
从您的ID值中删除#
个字符。 jQuery中的#
字符表示元素的ID,因此您需要两个#
(##knee-tab
)才能工作。
你回答之前我可以删除它...哈哈谢谢。 – GhostToast 2012-07-17 20:29:50
不能够快速接受答案 – GhostToast 2012-07-17 20:35:45
你确定你有#号码在面前的ID。以这种方式重写它,它会工作
<li><a id="patient-portal-link">Patient Portal</a></li>
<li><a id="knee-link">Knee</a></li>
<li><a id="shoulder-link">Shoulder</a></li>
你的问题是在你的HTML代码。 HTML中的id不需要散列'#'。
$(function() ...)
只是$(document).ready(function() ...)
如果我记得正确的速记。所以你正在使用太多的现成电话。试试这个:
$(document).ready(function() {
$("#knee-tab").hide();
$("#shoulder-tab").hide();
$("#patient-portal-link").click (function (event) {
$("#patient-portal-tab").show();
$("#knee-tab").hide();
$("#shoulder-tab").hide();
});{
$("#knee-link").click (function (event) {
$("#patient-portal-tab").hide();
$("#knee-tab").show();
$("#shoulder-tab").hide();
});
$("#shoulder-link").click (function (event) {
$("#patient-portal-tab").hide();
$("#knee-tab").hide();
$("#shoulder-tab").show();
});
});
你不需要如此多的'$(function(){'调用,你甚至已经有'$(document).ready(function(){''写出来了!只需使用一个DOM ready函数来包装所有这些函数。 – TheZ 2012-07-17 20:30:32
如果编辑你的帖子,并删除错误,然后没有人真的可以跟着答案,所以对于谁来得太晚,IDS在编辑之前的底部,像这个'id =“#patient-portal-link”'的链接。所以jQuery选择器没有正确的工作。 – Horen 2012-07-17 20:35:12
是的,我的道歉,刚刚发现了错误,不知道这是什么问题。一种膝盖反应。将原来的问题恢复到原来的状态。 – GhostToast 2012-07-17 20:37:01