我有这样的html代码:
<ul class="myClass">
<li><a href="url1.html">first link</a></li>
<li><a href="url2.html">second link</a></li>
<li><a href="url2.html">third link</a></li>
<li><a href="url3.html">fourth link</a></li>
</ul>
这个想法是,当我按下链接时,它应该写入按下的链接下一个属性字符串:class="active"。例如,如果我们有
<li><a href="url1.html">first link</a></li>`
我按下它,jQuery 函数应该将其更改为:
<li><a class="active" href="url1.html">first link</a></li>
但是我的 jQuery 函数并没有真正起作用。如果您能帮助我,我将不胜感激。这是jQuery函数的来源:
$(document).ready(function(){
var currentUrl = document.location.pathname;
$('#myClass').each(function() {
if ( currentUrl == $(this).children('a').attr('href')) {
$(this).children('a').addClass('active');
}
});
});
更新我放了日志console.log(currentUrl +"=="+ $(this).children('a').attr('href'));
,它说状态是未定义的。我认为“if”条件没有被执行,因为,我把和 else 条件放在了alert
那里,所以任何紧迫的呼叫警报和if
条件都不会被执行。