我想在nav元素中添加一个活动类,但是我没有让它工作。 我的代码是:
$(document).ready(function() {
if ($('a[href="<?php echo RoutingClass::getView(); ?>"]') == $('a[href="home"]')) {
$('a[href="home"]').addClass('active');
}
});
当它在浏览器中解析时,它看起来像这样(在主页上):
$(document).ready(function() {
if ($('a[href="home"]') == $('a[href="home"]')) {
$('a[href="home"]').addClass('active');
}
});
当我省略if比较时,它只是添加活动类,但在其中,它不会。
答案 0 :(得分:0)
有关jquery相等性的讨论,请参阅jQuery object equality。
我对您的代码的建议如下:
$(document).ready(function() {
if (<?php echo RoutingClass::getView()=='home'?'1':'0' ?>)) {
$('a[href="home"]').addClass('active');
}
});
答案 1 :(得分:0)
您正在比较2个DOM元素。
让我们为每个锚标签使用ID,我称之为a1和a2:
$('a#a1').attr('href') == $('a#a2').attr('href')
答案 2 :(得分:0)
您可以检查您选择的jQuery元素是否具有类似的home href:
$('a[href="home"]').attr("href") == "home"
您的代码可以这样工作:
$(document).ready(function() {
if ( $('a[href="home"]').attr("href") == "home" ) {
$('a[href="home"]').addClass('active');
}});