jquery if语句,选择器
我刚开始使用jQuery,我需要做一些我不太确定的事情。 我知道如果使用jQuery语句就像普通的JavaScript,但我不知道如何在正常的if语句上使用jQuery选择器。jquery if语句,选择器
该函数目前正在工作,但我有两个问题,我不知道如何解决,(我会假设它将与一个if语句,但不知道如何)。
一个问题是,在container1上这个函数不应该被应用,只有两个图像,最大化和最小化,我应该能够显示和隐藏这个。
第二个问题是图像是用来显示(当点击最大化时)和隐藏(当点击最小化时)下面的容器,但函数我与最大化和最小化函数(这是正常的JavaScript和我想制作jQuery)。
我希望它很好地解释。请让我知道,如果你有任何问题。
代码如下。
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$(".Header").click(function(){
$(this).next(" .container").slideToggle("fast");
});
});
</script>
</head>
<body>
<table class="Header">
<tr>
<td>header1</td>
<td><img alt="minimize" onclick="function to minimise container1"/>
<img alt="maximize" onclick="function to maximize container1" /></td>
</tr>
<table>
<div class="container>**Container1**</div>
<table class="Header">
<tr>
<td>**header2**</td>
<td><img alt="minimize" onclick="function to minimise container2"/>
<img alt="maximize" onclick="function to maximize container2" /></td>
</tr>
<table>
<div class="container>**Container2**</div>
<table class="Header">
<tr>
<td>**header3**</td>
<td><img alt="minimize" onclick="function to minimise container3"/>
<img alt="maximize" onclick="function to maximize container3" /></td>
</tr>
<table>
<div class="container>**Container3**</div>
</body>
</html>
如何:
$(function() {
$(".Header:not(#Container1)").click(function(){
var c = $(this).next(".container");
c.slideToggle("fast");
});
$(".Header:not(#Container1)").toggle(
function(){ $(this).next(".container").next("img").css('display', 'block'); },
function(){ $(this).next(".container").next("img").css('display', 'none'); }
);
});
谢谢,这是非常接近,虽然我slideToggle和显示:块之间的冲突和没有仍然存在。当容器是(display:block)并且你点击最大化时,它会做(slideToggle)来再次显示容器,尽管它已经显示,同样的事情与最小化。 无论如何非常感谢,因为它非常接近我所需要的。 – Amra 2010-03-01 10:44:17
我明白了。在这种情况下,这可能有以下帮助: $(“。Header:not(#Container1)”)。click(function(){varily = $(this).next(“。container”); c .css('display','none'); c.slideToggle(“fast”,function(){c0css('display','block'); }); }); – 2010-03-01 10:54:42
关于在if语句,你只需要使用他们像正常的选择。唯一要注意的是他们回报。
if ($('#thing'))
如果存在#thing
将返回true。
if ($('#thing').hasClass('stuff'))
将返回true,如果#thing.stuff
在那里。
if ($('#thing').text() == "Phil")
让jQuery返回#thing
的任何文本,并将其与'Phil'进行比较。
依此类推。只要想一想你用jQuery抓住了什么,并相应地使用。文档很有帮助。
谢谢你的解释,它真的帮助我理解如何使用选择器和if语句。 :-) – Amra 2010-03-01 10:45:06
很高兴帮助。 :) – 2010-03-01 10:55:31
把这个分成两个问题怎么样?这两个问题是完全不同的,即使它们影响相同的代码。 – 2010-03-01 10:30:38
对不起,我没有意识到,下次我会考虑这个。 – Amra 2010-03-01 10:35:37