Javascript jQuery选择器帮助
我有下面的HTMLJavascript jQuery选择器帮助,javascript,jquery,html,css,javascript-events,Javascript,Jquery,Html,Css,Javascript Events,我有下面的HTML <ul class="main-navigation"> <li class="left"> </li> <li class="normal">Home</li> <li class="normal">Internet</li> <li class="normal">Movies</li> <li class="normal"
<ul class="main-navigation">
<li class="left"> </li>
<li class="normal">Home</li>
<li class="normal">Internet</li>
<li class="normal">Movies</li>
<li class="normal">Music</li>
<li class="normal">Documents</li>
<li class="normal">Windows</li>
<li class="right"> </li>
</ul>
我如何获得节点数组?如何循环它们并添加事件?您想使用
更新
这是未经测试的,但请尝试:
你想用
更新
这是未经测试的,但请尝试:
$('.main navigation.normal')
或$('.main navigation li.normal')
使用$('.main navigation li.normal')
您将使用类.normal
和$('.main navigation.normal')
选择.main navigation
和.normal$('.main navigation.normal')中的元素
或$('.main navigation li.normal')
使用$('.main navigation li.normal')
您将使用类.normal
和$('.main navigation.normal')
选择.main navigation
和.normal
来添加事件,你不需要在它们之间循环。jQuery将把事件添加到选择返回的所有元素中。例如:
$("ul.main_navigation li.normal").hover(function(){
//what happens on mouseover
$(this).attr('class', 'highlighted');
},
function(){
//what happen on mouseout
$(this).attr('class', 'normal');
}
);
或者,您可以使用jQuery.each循环它们,例如,如果需要将它们添加到数组或类似的内容:
$("ul.main_navigation li.normal").each(function(){
//this iterates through li.normal one by one
});
要添加事件,不需要循环它们。jQuery将把事件添加到选择返回的所有元素中。例如:
$("ul.main_navigation li.normal").hover(function(){
//what happens on mouseover
$(this).attr('class', 'highlighted');
},
function(){
//what happen on mouseout
$(this).attr('class', 'normal');
}
);
或者,您可以使用jQuery.each循环它们,例如,如果需要将它们添加到数组或类似的内容:
$("ul.main_navigation li.normal").each(function(){
//this iterates through li.normal one by one
});
+您好,我想把您和meep的回复都标记为答案。我不能标记两个!你们两人回答了我问题的不同部分。谢谢!:)$(#main navigation li”).attr(“class”,“normal”)会将每个li元素类设置为normal,而不是过滤。您能解释一下代码吗?在jQuery中,我通常在第二个点(.)之后感到困惑!谢谢li.normal也是一个选项,然后删除.attr(),保留.each()。噢!我想做的是,在mouseover上将类设置为其他类型,并在mouseout+1上将其设置为正常。嗨,我想将您和meep的回复都标记为答案。我不能标记两个!你们两人回答了我问题的不同部分。谢谢!:)$(#main navigation li”).attr(“class”,“normal”)会将每个li元素类设置为normal,而不是过滤。您能解释一下代码吗?在jQuery中,我通常在第二个点(.)之后感到困惑!谢谢li.normal也是一个选项,然后删除.attr(),保留.each()。噢!我想做的是,在mouseover上将类设置为其他对象,并在mouseoutHi上将其设置为正常。我不知道!谢谢现在,你的回答是我想标记为答案的第三个回答!:)在函数(){}中,我设置类,如this.attr('class','highlighted')代码>?我编辑了答案中的第一位代码。看到你试图做一个悬停效果…我在这个周围放了一个jquery选择器,比如$(this.attr('class','highlighted');你好我不知道!谢谢现在,你的回答是我想标记为答案的第三个回答!:)在函数(){}中,我设置类,如this.attr('class','highlighted')代码>?我编辑了答案中的第一位代码。看到你试图做一个悬停效果…我在这个周围放了一个jquery选择器,比如$(this.attr('class','highlighted');