我有一個腳本,如果頁面標題與<a>
標籤的文本值相匹配,它將爲元素添加一個類。我的腳本中的else語句用於說明何時頁面標題與導航項目不匹配,並且活動鏈接被分配給Home
菜單項(即導航欄中的第一個項目)。jQuery if和else語句都執行
我有一個菜單,就像這樣:
<ul class='menu'>
<li> <a href="#">Home</a> </li>
<!-- Page title - My Cool Website -->
<li> <a href="#">About Us</a> </li>
<!-- Page title - About Us -->
// etc....
</ul>
這裏的腳本:
$(document).ready(function() {
var title = $(document).attr("title");
$(".menu li a").each(function (e) {
var a = $(this).text();
var exists = title.match(a);
if (exists) {
$(this).addClass("active");
} else {
$(".menu li a").first().addClass("active");
}
});
});
if和else語句似乎執行這樣第一和匹配的元素現在有一個active
類添加到他們。
我試過在我的聲明結尾處使用stopPropagation();
和return false
,但沒有成功。
任何人都可以告訴我爲什麼兩個正在執行?我假設我沒有優雅地跳過DOM,但JavaScript有點生疏。
您可以創建問題 – Tushar
那是因爲你有多個' s'的的jsfiddle。某些或另一個'a'將會滿足'if()'或'else' –
@Tushar腳本被設計爲可以在多個頁面上工作,使用'