Javascript 使用此选项可以在具有相同名称的各个类中选择不同的类
我试图为每个链接使用相同的jQuery脚本创建不同的链接。我不想为每个链接编写jQuery脚本,而是希望只使用一个函数 我的HTML结构是:Javascript 使用此选项可以在具有相同名称的各个类中选择不同的类,javascript,jquery,Javascript,Jquery,我试图为每个链接使用相同的jQuery脚本创建不同的链接。我不想为每个链接编写jQuery脚本,而是希望只使用一个函数 我的HTML结构是: <a href="#" class="link-chart lx-link-chart"> <div class="link-selector-one"> <div class="link-selector-two red"></div> </div> </a> <
<a href="#" class="link-chart lx-link-chart">
<div class="link-selector-one">
<div class="link-selector-two red"></div>
</div>
</a>
<a href="#" class="link-chart lx-link-chart">
<div class="link-selector-one">
<div class="link-selector-two red"></div>
</div>
</a>
我试图使用(这个),但在当前状态下它不起作用。目标是,如果我单击第一个链接,仅更改包装在
链接中的第一个链接div的样式。如果选择第二个,则仅对第二个进行更改。现在,我删除了这个选项,如果我点击其中任何一个,它将对所有链接进行更改,但想法是只对选定的链接进行更改 首先,$(“.link chart”,这个)
并不像你想象的那样。由于您在全局范围内,而不是在函数中,此
只是窗口
,因此此处不需要
您应该只使用$(“.link chart”,this)代码>
其次,在此单击处理程序中,此
将是您单击的
标记。从那里你可以得到你想要的子元素
$( ".link-chart").click(function($e) {
if($(this).find(".link-selector-two").hasClass('red')) {
$('.link-selector-two', this).addClass('cssclass');
$('.link-selector-one', this).addClass('cssclass');
} else {
$('.link-selector-two', this).removeClass('cssclass');
}
});
注意:$('.link selector 2',this)
是$(this)的简写。查找('.link selector 2')
从$(“.link chart”,this)
中删除this
,并将this
添加到选择器$('.link selector 2')
和$('.link selector 1'))
单击功能中的内容将影响每个链接图中的项目
运行下面的代码段以查看它的运行情况
$(“.link chart”)。单击(函数($e){
if($(this).find(“.link selector two”).hasClass('red')){
$('.link选择器2',this.addClass('cssclass');
$('.link selector one',this.addClass('cssclass');
}否则{
$('.link选择器2',this.removeClass('cssclass');
}
});代码>
.red{color:red;}
.cssclass{color:blue!重要;}
您可以使用以下命令对选择器进行分组:$('.link selector one、.link selector two',this).addClass('cssclass')代码>谢谢!很好的解释和解决问题。
$( ".link-chart").click(function($e) {
if($(this).find(".link-selector-two").hasClass('red')) {
$('.link-selector-two', this).addClass('cssclass');
$('.link-selector-one', this).addClass('cssclass');
} else {
$('.link-selector-two', this).removeClass('cssclass');
}
});