jquery如何获取class元素集

把下面这一句改成 JQ 获取class来控制
var oNav=document.getElementById("nav");

我改成 var oNav = $(“.nav”)[0];这样只能控制一个

我是想页面有多
<div class="nav"></div>
<div class="nav"></div
<div class="nav"></div>
这样的情况 不知道我说的是否合理

<div id="nav">
<dl class="one">
<dt><a href="#">首页</a></dt>
<dd>
<ul>
<li><a href="#">菜单菜单1</a></li>
<li><a href="#">菜单菜单1</a></li>
</ul>
</dd>
</dl>

<dl class="one">
<dt><a href="#">新闻</a></dt>
<dd>
<ul>
<li><a href="#">菜单菜单1</a></li>
<li><a href="#">菜单菜单1</a></li>
</ul>
</dd>
</dl>
</div>

<script type="text/javascript">
$(document).ready(function(){
var oNav=document.getElementById("nav");
var oDl=oNav.getElementsByTagName('dl');
var i=0;
var timer=null;
for(i=0;i<oDl.length;i++)
if(oDl[i].className=='one'){
oDl[i].onmouseover=function(){
var odd=this.getElementsByTagName('dd')[0];
var aa=this.getElementsByTagName('a')[0];
aa.className='hover';
odd.style.display='block';
}
oDl[i].onmouseout=function (){
var odd=this.getElementsByTagName('dd')[0];
var aa=this.getElementsByTagName('a')[0];
aa.className='';
odd.style.display='none';
}
}
});
</script>

太多了 不明白你想干什么 你是想处理多个class是吧 想怎么获取?用each方法就可以了

$(".nav").each(function(index,item) {
    $(this)……//这个就是jquer循环获取的class对象 你可以用来处理你的逻辑
});

追问

不懂怎么写 不是很懂这个 写在那个位置呢

追答

给你解释下each方法
each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象、数组的属性值并进行处理。
jQuery和jQuery对象都实现了该方法,对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。而jQuery对象提供的each方法则是对jQuery内部的子元素进行逐个调用。
$().each,对于这个方法,在dom处理上面用的较多;
回调函数中 return false时可以退出$.each(), 如果返回一个非false 即会像在for循环中使用continue一样, 会立即进入下一个遍历
each() 方法规定为每个匹配元素规定运行的函数。
语法:$(selector).each(function(index,element))
index - 选择器的 index 位置
element - 当前的元素(也可使用 "this" 选择器)
返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。
$("div").each(function(i){ 输出i; }):
它的作用其实就是枚举循环的简写 i是一个记录指针 每次I都会加1 ,如果你用$("div").css("a","b") 一次性都处理了 而这个是一个一个循环处理
区别:$(selector).each(function(index,element)),在dom处理上用的比较多;
$.each()函数用来遍历数组
例子:
var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8,9]]
$.each(arr2, function(i, item){
alert(item[0]);
});
输出:1 4 7

你可以直接看着例子然后写代码

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-02-17
思路:jquery先取得class的元素集合,然后再遍历里面的元素就可以了。<br>方法如下:<br>$(".类名")就是该class里的集合<br><br>如果取得class里的元素,通过下面的代码进行遍历就可以了。<br><br>$(".类名").each(function(){<br>alert($(this).html()); 'html() 方法返回或设置被选元素的内容<br>});
第2个回答  2014-01-02
var oNav=document.getElementById("nav");如果是jquery的话你直接var oNav=$(“.nav”)就好了,
用$(this)就能取出当前的值,希望能帮到你,不需要遍历。
第3个回答  推荐于2018-02-23
$(".类名")获取的结果就是此class的元素集合
如果想要对此集合进行遍历
$(".类名").each(function(){
alert($(this).html());
});本回答被网友采纳

jquery怎么获取class里的元素
1、新建一个HTML文档,并定义若干个带有class属性的元素。2、新建一个JS操作,并获取选择器匹配的第一个元素。3、保存以上文件,在浏览器预览效果,得到的是第一个匹配的Class元素。4、如果想要选择器匹配所有符合的元素,则需要使用选择器。5、对方法获取的元素集合,进行遍历输出。6、保存以上内容,在...

jquery如何获取class元素集
(".nav").each(function(index,item) { $(this)……\/\/这个就是jquer循环获取的class对象 你可以用来处理你的逻辑});

jquery怎么获取页面上有多少个相同class
可以选择所有相同class的元素,然后使用其length属性:var $elements = $('.className');var len = $elements.length;alert('有 ' + len + ' 个相同class');elements.each(function() { var $this = $(this);alert($this.prop('tagName'));});...

jQuery选择器的几种类型?
基本选择器是jQuery中最常用也是最简单的选择器,它通过元素的id、class和标签名等来查找DOM元素。 1、ID选择器#id 描述:根据给定的id匹配一个元素,返回单个元素(注:在网页中,id名称不能重复) 示例:$("#test")选取id为test的元素 2、类选择器.class 描述:根据给定的类名匹配元素,返回元素集合 示例:$(".tes...

jquery怎么获取相同class的个数?
1、新建html文档,在body标签中添加一些div标签,并为这些div标签设置一些类,然后引入jquery文件:2、使用jquery获取所有相同类名的标签,格式为$('.class名'),这时所有相同类名的标签会被选中:3、获取标签之后,使用length属性获取标签的个数,这时相同类名的个数就被获取到了:...

利用jquery改变指定元素的class样式
("#daohang > a").click(){ $("#daohang > a").attr("class",""); $(this).attr("class","shouye");} <!-- 望采纳谢谢! 意思是给点击的超链接添加样式, 方法是先移除之前的样式,然后重新给点击的超链接添加样式.--> ...

jquery 如何获取集合内的其中一个元素?
你好!!获取一个元素的值可以有很多方式:通过id选择器:$("#txt").val();通过class选择器:$(".ipt").val();通过属性选择器:$("input[name='uname']").val();

jquery查找子元素?
jquery如何获取当前元的子元素?Jquery获取子元素的方法有2种,分别是children()方法和find()方法。1.children()方法:获取该元素下的直接子集元素 2.find()方法:获取该元素下的所有子集元素 3.children()方法获取ul下面直接子集元素li:$("ul").children("li")4.find()方法获取ul下所有元素li:$...

javascript jquery,一个div 有多个class属性。怎样找出其中的以aaa开 ...
div [class^="aaa"] 匹配具有class属性、且值以aaa开头的div元素,再根据这个找出其名称。即变成了:$(".[aaa]")没有试过,附点资料你可以参考一下:基本选择器(3种): $("标签名"),如$("p")是选取了所有的p标签节点 $("#id名"),如$("#test")是选取了id为test的标签节点 $(".class名"),如$(...

find()、children()、children、childNodes方法
在jQuery中,find()方法被用来在所有后代中查找元素。例如,使用$("ul").find("span")可以获取ul元素下的所有span子节点;使用$("html").find("*")可以获取html元素下的所有子元素;使用$("div").find(".name1")可以获取div元素下class为"name1"的所有子元素。而children()方法则是在单一层级...

相似回答