jQuery突出显示特定<;a>;当下拉菜单打开时
我想在下拉菜单打开时更改切换按钮标签的颜色。不幸的是,所有的标记都会高亮显示。我想针对特定的标签 这是我的密码:jQuery突出显示特定<;a>;当下拉菜单打开时,jquery,Jquery,我想在下拉菜单打开时更改切换按钮标签的颜色。不幸的是,所有的标记都会高亮显示。我想针对特定的标签 这是我的密码: <script> $(document).ready(function() { $(".dropdown-toggle").click(function(e) { e.preventDefault(); $('.dropdown-menu').not($(this).next('.dropdown-menu')).fadeOut()
<script>
$(document).ready(function() {
$(".dropdown-toggle").click(function(e) {
e.preventDefault();
$('.dropdown-menu').not($(this).next('.dropdown-menu')).fadeOut()
$(this).next('.dropdown-menu').fadeToggle().toggleClass('isOpen');
if ($('.dropdown-menu').hasClass('isOpen')) {
$(this).html("-");
$(".sidebar-collections .sdc-element ul li a").css("color", "#f37727");
} else {
$(this).html("+");
$(".sidebar-collections .sdc-element ul li a").css("color", "#000");
}
});
});
$(文档).ready(函数(){
$(“.dropdown toggle”)。单击(函数(e){
e、 预防默认值();
$('.dropdown menu').not($(this.next('.dropdown menu')).fadeOut()
$(this).next('.dropdown menu').fadeToggle().toggleClass('isOpen');
if($('.dropdown menu').hasClass('isOpen')){
$(this.html(“-”);
$(“.sidebarcollections.sdc元素ul li a”).css(“颜色”,“f37727”);
}否则{
$(this.html(“+”);
$(“.sidebarcollections.sdc元素ul li a”).css(“颜色”,“#000”);
}
});
});
这是我的问题
+
当我的下拉列表打开时,我想突出显示特定的a href,如果关闭,它将返回黑色。您可以这样尝试
$(this).children(".sidebar-collections .sdc-element ul li a").css("color", "#f37727");
你可以这样试试
$(this).children(".sidebar-collections .sdc-element ul li a").css("color", "#f37727");
您需要通过css应用颜色,而目标切换按钮的颜色可以通过jQuery进行如下更改:
$(document).ready(function() {
$(".dropdown-toggle").click(function(e) {
e.preventDefault();
$('.dropdown-menu').not($(this).next('.dropdown-menu')).fadeOut()
$(this).next('.dropdown-menu').fadeToggle().toggleClass('isOpen');
if ($('.dropdown-menu').hasClass('isOpen')) {
$(this).html("-");
$(this).prev().css("color", "#f37727");
} else {
$(this).html("+");
}
});
});
CSS:
您需要通过css应用颜色,而目标切换按钮的颜色可以通过jQuery进行如下更改:
$(document).ready(function() {
$(".dropdown-toggle").click(function(e) {
e.preventDefault();
$('.dropdown-menu').not($(this).next('.dropdown-menu')).fadeOut()
$(this).next('.dropdown-menu').fadeToggle().toggleClass('isOpen');
if ($('.dropdown-menu').hasClass('isOpen')) {
$(this).html("-");
$(this).prev().css("color", "#f37727");
} else {
$(this).html("+");
}
});
});
CSS:
如果希望元素正好位于单击按钮的左侧,可以使用以下代码:
$(function() {
$(".dropdown-toggle").click(function(e) {
e.preventDefault();
$('.dropdown-menu').not($(this).next('.dropdown-menu')).fadeOut()
$(this).next('.dropdown-menu').fadeToggle().toggleClass('isOpen');
if ($('.dropdown-menu').hasClass('isOpen')) {
$(this).html("-");
//$(".sidebar-collections .sdc-element ul li a").css("color", "#f37727");
$(this).siblings('a').css("color", "#f37727");
} else {
$(this).html("+");
//$(".sidebar-collections .sdc-element ul li a").css("color", "#000");
$(this).siblings('a').css("color", "#000");
}
});
});
如果您仍然需要改进,请告诉我。如果您需要单击按钮左侧的元素,可以使用以下代码:
$(function() {
$(".dropdown-toggle").click(function(e) {
e.preventDefault();
$('.dropdown-menu').not($(this).next('.dropdown-menu')).fadeOut()
$(this).next('.dropdown-menu').fadeToggle().toggleClass('isOpen');
if ($('.dropdown-menu').hasClass('isOpen')) {
$(this).html("-");
//$(".sidebar-collections .sdc-element ul li a").css("color", "#f37727");
$(this).siblings('a').css("color", "#f37727");
} else {
$(this).html("+");
//$(".sidebar-collections .sdc-element ul li a").css("color", "#000");
$(this).siblings('a').css("color", "#000");
}
});
});
如果您还需要改进,请告诉我。您可以同时发布HTML代码吗。我有答案,但正在等待HTML发布正确的答案。@Rijopp我已经更新了我的帖子,请您也发布HTML代码。我有答案,但正在等待HTML发布正确的答案。@RijoKP我已经更新了我的postDevesh-你的意思是为了解决我的问题而使用each()来针对特定的a href?是的,你必须查找特定的href匹配属性,然后更改颜色。到目前为止,您的选择器正在使用aDevesh选择所有标记-是这样吗$(“.sidebar collections.sdc element ul li a”).each(function(){$(this.css(“color”),“#f37727”)}@KobeBryan我已经更新了我的答案。您只能查找当前单击的元素的子元素以更改颜色。Devesh-答案之一。兄弟元素不是子元素。也可以。Devesh-您的意思是为了解决我的问题,使用each()来针对特定的a href?是的,您必须查找特定的href匹配属性,然后更改颜色。到目前为止,您的选择器正在使用aDevesh选择所有标记-是这样吗$(“.sidebar collections.sdc element ul li a”).each(function(){$(this.css(“color”),“#f37727”)}@KobeBryan我已经更新了我的答案。您只能查找当前单击的元素的子元素以更改颜色。Devesh-答案之一。兄弟元素不是子元素。同样有效。海德尔-它不起作用,因为目标突出显示在dropdown div之外。是否要更改已切换的下拉列表的颜色?对,不。切换时,应突出显示下拉菜单顶部的a href。检查我的html。哦,好的。让我看看你的意思是切换按钮在中间-它不起作用,因为目标突出显示在下拉div之外。你想更改被切换的下拉列表的颜色吗?对,不。切换时,应突出显示下拉菜单顶部的a href。检查我的html。哦,好的。让我看看你指的是拨动钮Rijo——德维什也回答了孩子们。您使用的兄弟姐妹也是有效的。我们能说这是最灵活的吗?海德尔·阿里回答了$(this.prev().css(“color”,“#f37727”);我认为这里没有带$(this)元素的“children”选项。(抱歉@Devesh)刚刚指出了我测试过的内容。这些代码不会影响页面其他部分的任何a href吗?应该不会,因为我们针对的是特定元素。谢谢Kobe:)Rijo--Devesh也回答了孩子们的问题。您使用的兄弟姐妹也是有效的。我们能说这是最灵活的吗?海德尔·阿里回答了$(this.prev().css(“color”,“#f37727”);我认为这里没有带$(this)元素的“children”选项。(抱歉@Devesh)刚刚指出了我已经测试过的内容。这些代码不会影响页面其他部分中的任何a href吗?不应该影响,因为我们针对的是特定元素。谢谢你:)