Javascript 如果我使用jquery同时使用两个类,那么如何使用它?
我必须选择两个类,但有一个问题,如果我只想将其用于单个类,我如何使用它?如下所示:- $'.city selector ul li,.city selector close'。单击函数{ var selectedCity=$this.text; $'.selected city span'.text selectedcity; } .城市选择器关闭{ 浮动:对; } X 古尔冈 德里 诺伊达 费尔达巴德 Gurgaon听起来您试图描述的是两个独立的点击处理程序。一个用于单击城市,一个用于单击X: $'.city选择器ul li'。单击函数{ var selectedCity=$this.text; $'.selected city span'.text selectedcity; } $“.城市选择器关闭”。单击函数{ $'.选定的城市跨度'.文本; } .城市选择器关闭{ 浮动:对; } X 古尔冈 德里 诺伊达 费尔达巴德Javascript 如果我使用jquery同时使用两个类,那么如何使用它?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我必须选择两个类,但有一个问题,如果我只想将其用于单个类,我如何使用它?如下所示:- $'.city selector ul li,.city selector close'。单击函数{ var selectedCity=$this.text; $'.selected city span'.text selectedcity; } .城市选择器关闭{ 浮动:对; } X 古尔冈 德里 诺伊达 费尔达巴德 Gurgaon听起来您试图描述的是两个独立的点击处理程序。一个用于单击城市,一个用于单击X
Gurgaon如果要处理此问题,可以创建两个不同的事件处理程序 $'.city选择器ul li'。单击函数{ var selectedCity=$this.text; $'.selected city span'.text selectedcity; } $“.城市选择器关闭”。单击函数{ 警报关闭; } .城市选择器关闭{ 浮动:对; } X 古尔冈 德里 诺伊达 费尔达巴德
Gurgaon我也喜欢两个单独的点击处理程序,但是如果您真的想使用一个,您可以使用hasClass函数检查点击元素的类:
$('.city-selector ul li, .city-selector-close').click(function() {
if (!$(this).hasClass('city-selector-close')) {
var selectedCity = $(this).text();
$('.selected-city span').text(selectedCity);
}
});
但与其他回答者所说的一样,将此功能拆分为两个单独的单击处理程序更有意义。您可以使用
$(this).attr('class')
因此,在回调函数中,检查是否是city selector close,如果不是,则显示文本
$'.city selector ul li,.city selector close'。单击函数{
如果$this.attr'class'!=城市选择器关闭{
var selectedCity=$this.text;
$'.selected city span'.text selectedcity;
}
}
.城市选择器关闭{
浮动:对;
}
X
古尔冈
德里
诺伊达
费尔达巴德
古尔加尼不明白这个问题——为什么在单击关闭图标时要更新文本?只需使用两个单独的事件处理程序。实际上,我可以使用两个单独的事件处理程序来解决这一问题,但我只想知道,当我必须使用单个处理程序时,如何解决此类问题?虽然很难理解这一问题,因为示例毫无意义。@RohitVerma在这种情况下,您可以简单地使用if条件并分离事件。谢谢@Phil,你的回答正是我想要的!我不使用单独的处理程序,因为如果我使用单独的处理程序,那么我必须使用太多的代码两次,这就是为什么我不能这样做that@RoryMcCrossan我同意你的看法,但他想知道如何在一个函数内完成,这就是我提供的。事实上,他应该把它分成两个处理程序,这只是一个替代方案,尽管是一个更糟糕的方案。这不是一个建设性的评论-我道歉。@RohitVerma:那么我不得不使用太多的代码两次-不要重复你自己的咒语是指逻辑,而不是击键。如果编程的主要目标是尽可能少的击键,那么您将编写非常难以支持的代码。当前的示例相对较小,但在一个功能齐全的应用程序中,这项工作将花费您很多、很多小时的令人沮丧的工作—所有这些都只是为了节省一些字节的存储空间。