2012-04-27 75 views
0

你能告诉我我的代码有什么问题。我给出了以下所有部分的代码; HTML/CSS & JQuery关于选择ID问题的jquery

当我点击我的go veg按钮时,类鱼应该隐藏起来。

CSS文件

div{ 
display:inline; 
float:left; 
height:245px; 
text-align:left; 
border: solid #000 3px; 
} 

HTML文件

<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="file://c:/jquery/chapter-2/begin/styles/my_style.css" /> 
    <script src="file://c:/jquery/chapter-2/begin/scripts/jquery.js" type="text/javascript"></script> 
    <script src="file://c:/jquery/chapter-2/begin/scripts/my_scripts.js" type="text/javascript"></script> 
</head> 

<body> 
<div class="topper"> 
    <h2>Our Menu</h2> 
     <div class="buttons"><button type="submit" value="vegon">Go Vegetarian</button></div> 
     <div class="buttons"><button type="submit" value="restoreme">Restore Menu</button></div> 
</div> 
<div class="middle"> 
<li>Thai-style Halibut 
<ul class="menu_list"> 
    <li     >coconut milk</li> 
    <li class="fish" >pan-fried halibut</li> 
    <li     >lemongrass broth</li> 
    <li     >vegetables</li> 
    <li     >Thai spices </li> 
</ul> 
</li> 
<li>Braised Delight 
<ul class="menu_list"> 
    <li class="meat" >lamb shoulder</li> 
    <li     >cippolini onions</li> 
    <li     >carrots</li> 
    <li     >baby turnip</li> 
    <li     >braising jus</li> 
</ul> 
</li> 
<li>House Grilled Panini 
<ul class="menu_list"> 
    <li class="meat" >prosciutto</li> 
    <li     >provolone</li> 
    <li     >avocado</li> 
    <li     >cherry tomatoes</li> 
    <li     >sourdough roll</li> 
    <li     >shoestring fries </li> 
</ul> 
</li> 
<li>House Slider 
<ul class="menu_list"> 
    <li     >eggplant</li> 
    <li     >zucchini</li> 
    <li class="hamburger">hamburger</li> 
    <li     >balsamic vinegar</li> 
    <li     >onion</li> 
    <li     >carrots</li> 
    <li     >multigrain roll</li> 
    <li     >goat cheese</li> 
</ul> 
</li> <li>Frittata 
<ul class="menu_list"> 
    <li class="meat" >eggs</li> 
    <li     >Asiago cheese</li> 
    <li     >potatoes </li> 
</ul> 
</li> 
<li>Coconut Soup 
<ul class="menu_list"> 
    <li     >coconut milk</li> 
    <li class="meat" >chicken</li> 
    <li     >vegetable broth</li> 
</ul> 
</li> 
<li>Soup Du Jour 
<ul class="menu_list"> 
    <li class="meat" >grilled steak</li> 
    <li     >mushrooms</li> 
    <li     >vegetables</li> 
    <li     >vegetable broth </li> 
</ul> 
</li> 
<li>Hot and Sour Soup 
<ul class="menu_list"> 
    <li     >roasted pork</li> 
    <li     >carrots</li> 
    <li     >Chinese mushrooms</li> 
    <li     >chili</li> 
    <li     >vegetable broth </li> 
</ul> 
</li> 
<li>Avocado Rolls 
    <ul class="menu_list"> 
    <li     >avocado</li> 
    <li     >whole chiles</li> 
    <li     >sweet red peppers</li> 
    <li     >ginger sauce</li> 
</ul> 
</li> 
</div> 
</body> 
</html> 

JS文件

$(document).ready(function() { 
    $(".buttons").click(function(){ 
    $("li.fish").hide(); 
}); 
}); 
+1

似乎为我工作,http://jsfiddle.net/EAcEC/在控制台 – 2012-04-27 20:51:12

+0

任何错误,从头部

<script src="file://c:/jquery/chapter-2/begin/scripts/jquery.js" type="text/javascript"></script> 

线? – 2012-04-27 20:53:20

+0

我怀疑在控制台会有'未定义函数$'的调用。 – Sampson 2012-04-27 20:55:03

回答

0

无可厚非的每一件事很好。 只需更换下面这条线

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
+0

其工作..我需要在下载工具后重新启动浏览器.. – user1050619 2012-05-01 17:25:26

0

代码似乎work,但在任何情况下精确定位的选择的按钮不是容器。

$(".buttons button").click(function(){ 
    $("li.fish").hide(); 
}); 

您的代码来看,你在哪里加载喜欢

<script src="file://c:/jquery/chapter-2/begin/scripts/jquery.js" type="text/javascript"></script> 

制作脚本的路径是正确的和被加载。此外,如果你是相对路径而不是绝对路径,它会更好。

<script src="scripts/jquery.js" type="text/javascript"></script> 

上面的代码片段表示,存在一个jQuery脚本文件夹,与活动文件在同一个基本路径上。

+0

事件将传播到容器,所以他有什么应该工作。 – 2012-04-27 20:52:07

0

你的代码没问题。我怀疑你可能没有加载jQuery。尝试将您的本地参考文件换成Google CDN文件:

https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 

您还必须确保您的本地js文件也已加载。您似乎是通过一些书的例子来工作,所以请考虑使用你的资源相对路径:

如果你的网页目前在c:/jQuery/chapter-2/,使用下面为您的文件引用:

<script src="begin/scripts/jquery.js"></script>