如果我使用这个,我就不能使用addclass方法来添加活动类,也就是说,如果我只使用它的工作正常,但是如果我和$("#mylink").attr("href",uri);
一起使用,活动类是不接受的。这里我的uri是'$("#mylink").addClass('active')
'请帮我解决这个问题。
$(document).ready(function() {
$("#mylink").click(function() {
var getuid = $ {
userId
};
var testnum = btoa(getuid);
var uri = "sysadmin_delivery_ready.html?uid=" + testnum;
$("#mylink").attr("href", uri);
var clsval = this.className;
if (clsval == '') {
alert("blank");
$("#mylink").addClass('active');
} else {
alert("ac");
$("#mylink").removeClass('active');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="nav" id="side-menu">
<li>
<a href="#">
<i class="fa fa-dashboard fa-fw"></i> Data
</a>
</li>
<li>
<a href="#">
<i class="fa fa-edit fa-fw"></i> General Information
</a>
</li>
<li>
<a href="#" id="mylink">
<i class="fa fa-sign-out fa-fw"></i> Deliver
</a>
</li>
</ul>
最佳答案
请在此处查找工作片段:
由于我并没有真正改变你的代码的功能性,你能评论一下它有什么问题吗?
我不明白。
$(document).ready(function() {
$("#mylink").click(function() {
// I commented some of the code to have a working snippet…
/*var getuid = $ {
userId
};
var testnum = btoa(getuid);
var uri = "sysadmin_delivery_ready.html?uid=" + testnum;*/
var uri = "#foo"; // Added for test
$("#mylink").attr("href", uri);
var clsval = this.className;
if (clsval == '') {
// … and changed alert into console.log
console.log("blank");
$("#mylink").addClass('active');
} else {
console.log("ac");
$("#mylink").removeClass('active');
}
});
});
.active{
color: red;
}
li{
list-style: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<ul class="nav" id="side-menu">
<li>
<a href="#">
<i class="fa fa-dashboard fa-fw"></i> Data
</a>
</li>
<li>
<a href="#">
<i class="fa fa-edit fa-fw"></i> General Information
</a>
</li>
<li>
<a href="#" id="mylink">
<i class="fa fa-sign-out fa-fw"></i> Deliver
</a>
</li>
</ul>
注意,我添加了FontAwesome 4和样式化的
li
以及active
类以获得更好的输出。关于jquery - jQuery addclass方法不适用于带有jQuery的href链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49895679/