我有下面的HTML代碼jQuery代碼只執行過的第一個語句
<div class="testimonial closed">
<p class="author">Author name</p>
<p class="quote">This is a quote</p>
</div>
和我有以下jQuery代碼:
jQuery(document).ready(function($){
if ($('.testimonial').hasClass('closed')) {
$("p.author").click(function() {
var parent = $(this).parent();
window.console.log("Opened with author name");
$(parent).addClass("opened").removeClass("closed");
});
} else if ($('.testimonial').hasClass('opened')) {
$("p.author").click(function() {
var parent = $(this).parent();
window.console.log("Closed with author name");
$(parent).addClass("closed").removeClass("opened");
});
}
});
我的問題是代碼的第二部分從未得到執行。
我添加了一些輸出到控制檯,並可以看到代碼的第二部分從未執行,因爲我總是顯示消息'用作者姓名打開',無論我點擊帶有該類的段落多少次的作者。
任何想法,爲什麼會發生這種情況?
難道是因爲在第一次點擊中應用的新類「打開」在某種程度上在'else if'語句中不可用嗎?如果不是,那麼我怎麼才能認識到班級已經從「關閉」變爲「打開」?
感謝您的時間和事先的幫助。
是的同意你的回答 – Dilip
感謝您的解釋。 – Johnny