jquery如何获取class元素集
把下面这一句改成JQ获取class来控制varoNav=document.getElementById("nav");我改成varoNav=$(“.nav”)[0];这样...
把下面这一句改成 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> 展开
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> 展开
4个回答
展开全部
太多了 不明白你想干什么 你是想处理多个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
你可以直接看着例子然后写代码
展开全部
思路:jquery先取得class的元素集合,然后再遍历里面的元素就可以了。<br>方法如下:<br>$(".类名")就是该class里的集合<br><br>如果取得class里的元素,通过下面的代码进行遍历就可以了。<br><br>$(".类名").each(function(){<br>alert($(this).html()); 'html() 方法返回或设置被选元素的内容<br>});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var oNav=document.getElementById("nav");如果是jquery的话你直接var oNav=$(“.nav”)就好了,
用$(this)就能取出当前的值,希望能帮到你,不需要遍历。
用$(this)就能取出当前的值,希望能帮到你,不需要遍历。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$(".类名")获取的结果就是此class的元素集合
如果想要对此集合进行遍历
$(".类名").each(function(){
alert($(this).html());
});
如果想要对此集合进行遍历
$(".类名").each(function(){
alert($(this).html());
});
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询