2017-03-05 65 views
1

我有以下結構:我們可以用一個變量將一個類保存在一個變量中嗎?

HTML

<ul> 
    <li class="modern"> 
    <button>Ex 1</button> 
    <li> 
    <li class="classic"> 
    <button>Ex 2</button> 
    </li> 
<ul> 

<path class="modern"></path> 
<path class="classic"></path> 

CSS

path { 
    display: none; 
} 

當我點擊一個按鈕,與同等級的點擊母按鈕的路徑,應fadeIn();

以下是jQuery的我想

$("button").on("click", function() { 
    var periodClass = $(this).parent().attr("class"); 
    if($("path").hasClass(periodClass)) { 
     $("path.periodClass").fadeIn(); 
    } else { 
     $("path.periodClass").fadeOut(); 
    } 
}); 
+0

你需要迭代所有的'路徑'。使用['each'](https://api.jquery.com/each/) –

+0

爲什麼投票我不知道 –

+0

這不是我......對不起...... –

回答

1

您需要連接下來,就像你可以在PHP中你不能訪問JS的內部變量:

$("button").on("click", function() { 
    let periodClass = $(this).parent().attr("class"); 

    // Hide others: 
    $('path').not('.'+periodClass).fadeOut(); 
    $('path.'+periodClass).fadeIn(); 
}); 

jsFiddle Demo

+0

'$('path')'will will返回一個集合,但不是一個單一的元素,所以'hasClass'不會很好。 –

+0

請參閱編輯答案。 – BenM

相關問題