Javascript Jquery条件语句?
我正在尝试为onepageweb导航编写脚本。主要目标是在单击时更改选择器,第一部分工作正常,但第一个li是站点徽标,所以当我单击徽标时,我希望添加Javascript Jquery条件语句?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我正在尝试为onepageweb导航编写脚本。主要目标是在单击时更改选择器,第一部分工作正常,但第一个li是站点徽标,所以当我单击徽标时,我希望添加。选择第二个li.: $(document).ready(function (){ $(".main-nav li").click(function () { if (this = $(".main-nav li:first-of-type")) { $(this).next().addClass("
。选择第二个li.:
$(document).ready(function (){
$(".main-nav li").click(function () {
if (this = $(".main-nav li:first-of-type")) {
$(this).next().addClass("selected")
.siblings().removeClass("selected");
} else {
$(this).addClass("selected")
.siblings().removeClass("selected");
}
});
});
这种情况不起作用有两个问题:
您正在使用=
进行比较(if(this=$(“.main nav li:first of type”))
)<代码>=
始终是分配。由于无法将此分配给,因此这是一个错误,不会发生任何其他情况
如果您在那里使用=
或==
,它将不起作用,因为此
将引用DOM元素,但$()
的返回值始终是一个jQuery对象
你可能想要
if ($(this).is(".main-nav li:first-of-type"))
…用于测试单击的元素是否与给定的选择器匹配
旁注::类型
的第一个应该可以工作,但因为ul
元素只能包含li
元素,:第一个
也可以工作
实例:
$(文档).ready(函数(){
$(“.main nav li”)。单击(函数(){
if($(this).is(“.main nav li:类型的第一个”)){
$(this).next().addClass(“选定”)
.sides().removeClass(“选定”);
}否则{
$(此).addClass(“选定”)
.sides().removeClass(“选定”);
}
});
});代码>
。已选定{
颜色:红色;
}
- 标志项目
- 第二项
- 第三项
两个问题:
您正在使用=
进行比较(if(this=$(“.main nav li:first of type”))
)<代码>=
始终是分配。由于无法将此分配给,因此这是一个错误,不会发生任何其他情况
如果您在那里使用=
或==
,它将不起作用,因为此
将引用DOM元素,但$()
的返回值始终是一个jQuery对象
你可能想要
if ($(this).is(".main-nav li:first-of-type"))
…用于测试单击的元素是否与给定的选择器匹配
旁注::类型
的第一个应该可以工作,但因为ul
元素只能包含li
元素,:第一个
也可以工作
实例:
$(文档).ready(函数(){
$(“.main nav li”)。单击(函数(){
if($(this).is(“.main nav li:类型的第一个”)){
$(this).next().addClass(“选定”)
.sides().removeClass(“选定”);
}否则{
$(此).addClass(“选定”)
.sides().removeClass(“选定”);
}
});
});代码>
。已选定{
颜色:红色;
}
- 标志项目
- 第二项
- 第三项
“第一部分工作正常”不,没有。如果单击该元素,则会出现错误,请查看web控制台。您不能将此
分配给此
是一个对象。。要比较对象,请比较对象的任何唯一属性……您可以检查元素的索引,请参阅jquery索引“第一部分工作正常”不,它没有。如果单击该元素,则会出现错误,请查看web控制台。您不能将此
分配给此
是一个对象。。要比较对象,请比较对象的任何唯一属性…您可以检查元素的索引,请参阅jquery indexNot Recommendable,但this==$(“.main nav li:first of type”)。get(0)
也可以用于测试…@Rayon:Yup,或[0]
而不是。get(0)
。不推荐,但this==$(“.main nav li:first of type”).get(0)
也可用于测试…@Rayon:Yup,或[0]
而不是。get(0)
。