2017-01-20 16 views
0

變量的值,我如下傳遞的jQuery

$(document).ready(function() { 
 
    $("li").click(function() { 
 
    var str = $(this).index(); 
 
    alert(str); 
 
    $("#headdiv div:nth-child(" + str + ")").addClass("product-active"); 
 

 
    }); 
 
});

我想通過存儲在str變量爲n個子指數值寫在jQuery的代碼。我在哪裏做錯了?

+0

.........'STR + 1' –

回答

1

每次單擊時遞增str變量1。請參見下面的工作片段:

$(document).ready(function() { 
 
    $("li").click(function() { 
 
    var str = $(this).index(); 
 
    str++; 
 
    //console.log(str); 
 
    $("#headdiv div:nth-child(" + str + ")").addClass("product-active"); 
 

 
    }); 
 
});
.product-active{ 
 
    color: #F00; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li>List element</li> 
 
    <li>List element</li> 
 
    <li>List element</li> 
 
    <li>List element</li> 
 
    <li>List element</li> 
 
</ul> 
 
<div id="headdiv"> 
 
    <div>some div</div> 
 
    <div>some div</div> 
 
    <div>some div</div> 
 
    <div>some div</div> 
 
    <div>some div</div> 
 
</div>

+1

thnx,它適合我! – shyamm

+0

@shyamm,真棒。我很樂意提供幫助。 – Ionut

0

我們正在創建一個變量,並在文本中添加str值,然後在jQuery中使用該字符串。

$(document).ready(function() { 
     $("li").click(function() { 
     var str = $(this).index(); 
     alert(str); 
     //Create a new variable 
     var buildStr = "#headdiv div:nth-child(" + str + ")"; 
     $(buildStr).addClass("product-active"); 

     }); 
    }); 
+2

有沒有解釋代碼回答是不是一個好的做法 – guradio

+2

使用'聲明在JavaScript'buildStr變量時var' ' – ppasler

0

您應該添加str++

因爲str關鍵字在每次加載時都會創建一個新變量,所以全局變量str未被更新/增加。

$(document).ready(function() { 
 
    $("li").click(function() { 
 
    var str = $(this).index(); 
 
    str++; 
 
    $("#headdiv div:nth-child(" + str + ")").addClass("product-active"); 
 

 
    }); 
 
});
.product-active { \t 
 
\t background-color: green !important; 
 
} 
 
.not-active{ 
 
    background-color: red; 
 
    height: 50px; 
 
    margin-right: 5px; 
 
    width: 50px; 
 
    border-radius: 50%; 
 
    float: left; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li>Click Me</li> 
 
    <li>Click Me</li> 
 
    <li>Click Me</li> 
 
</ul> 
 
<div id="headdiv"> 
 
    <div class="not-active"></div> 
 
    <div class="not-active"></div> 
 
    <div class="not-active"></div> 
 
</div>

+0

謝謝你,它適合我! – shyamm