我的jquery hasClass有什么问题?

时间:2011-03-01 13:37:54

标签: jquery

<!DOCTYPE HTML>
<html>  
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<title>abc</title>
<script type="text/javascript" src="scripts/jquery_latest.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
 if( $("#pics_tab1").hasClass("current") )  
   alert("tab1");       
 else
   alert("false");
});
</script>
</head>
<body>
<div class="tabs">
        <a href="#pics_tab1" class="current"></a>
        <a href="#pics_tab2"></a>
        <a href="#pics_tab3"></a>
        <a href="#pics_tab4"></a>
        <a href="#pics_tab5"></a>
    </div>

由于某种原因,我无法在堆栈或谷歌上找到答案。也许我没有足够的搜索。但我不断得到:无论我做什么,虚假都是真实的。然而,班级当前被命名为tab1。

Thx in advanced

7 个答案:

答案 0 :(得分:4)

$("#pics_tab1")是一个id选择器,而不是一个href选择器。将锚标记的href属性更改为id属性,然后删除#

<a id="pics_tab1" href="yourlinkhere"></a>

答案 1 :(得分:3)

您将hrefid -

混淆
<!DOCTYPE HTML>
<html>  
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<title>abc</title>
<script type="text/javascript" src="scripts/jquery_latest.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
 if( $("#pics_tab_link1").hasClass("current") )  
   alert("tab1");       
 else
   alert("false");
});
</script>
</head>
<body>

<div class="tabs">
    <a id="pics_tab_link1" href="#pics_tab1" class="current"></a>
    <a href="#pics_tab2"></a>
    <a href="#pics_tab3"></a>
    <a href="#pics_tab4"></a>
    <a href="#pics_tab5"></a>
</div>

答案 2 :(得分:2)

您已将id代码放在href属性中。你需要使用id =“pics_tab1”

答案 3 :(得分:1)

id属性不存在。

尝试

<a id="pics_tab1" href="#pics_tab1" class="current"></a>

答案 4 :(得分:1)

嗯,您需要将元素的id属性设置为pics_tab1,而不是href

答案 5 :(得分:1)

在jQuery中,(“#pics_tab1”)选择“id = pics_tab1的元素。 您的网页上没有包含此ID的元素。

 <a href="#pics_tab1" class="current"></a>

应该是

  <a id="pics_tab1" href="#pics_tab1" class="current"></a>

答案 6 :(得分:1)

您需要使用attribute equals selector

$('a[href="#pics_tab1"]').hasClass("current");