Jquery和JS获取ul中li标签

js 获取元素下面所有的li

var content=document.getElementById("content");
var
items=content.getElementsByTagName("ul");
var
itemss=items[2].getElementsByTagName("li");//获取第二个li标签

var div=document.getElementById(‘a‘);

var ul=div.childNodes.item(0);
var lis=ul.childNodes;
for(var
i=0;i<lis.length;i++){
alert("Item "+i+": "+lis.item(i).innerHTML);
}

如何用jquery获得每个ul下最后一个li

$(function(){

$("ul").each(function(){

    var y = $(this).children().last();

    alert(y.text());

});

});

jquery 获取<ul> 点击的是那个<li>

<ul class="anserdh" id="topmenu">

<li class="qhbg"><a href="" >积分榜</a></li>
      <li><a href="">回答榜 </a></li>
      <li><a href="" >提问榜</a></li>
      <li><a href="" >满意榜</a></li>
</ul>

点击那个就把在那个<li>的追加class="qhbg"样式

比如:点击了回答榜 变成

<ul class="anserdh" id="topmenu">
      <li ><a href="" >积分榜</a></li>
      <li class="qhbg"><a href="">回答榜 </a></li>
      <li><a href="" >提问榜</a></li>
      <li><a href="" >满意榜</a></li>
</ul>

$(function(){

$(‘.anserdh li a‘).click(function(){
        $(‘.anserdh li‘).removeClass(‘qhbg‘);
        $(this).parent().addClass(‘qhbg‘);

})

})

jquery如何定位倒数第二个元素,如一个div里有5个ul,那jquery如何才能锁定到倒数第一个ul,第二个ul,第一个ul样式

$("div ul").eq(-1)
$("div ul").eq(-2)

  $(‘ul li:first-child‘).css(‘backgroundColor‘‘#000‘);

jquery中.each()遍历元素的一些学习

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title>tab选项卡</title>
    <style type="text/css">
        ul,li{list-style: none;margin: 0px; padding: 0px;}
        li{float: left;width: 80px; height: 30px; background-color: #ccc; border: 2px solid #fff;text-align:center; line-height:30px;}
        #content{clear:left; width:336px; height: 180px; background-color: #999; color:white;}
        #content div{display: none}
        #content .consh{display: block;}
        #title .titsh{background-color: #999;border:2px solid #999; color:#fff}
    </style>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(function(){
            $("li").each(function(index){
                $(this).mouseover(function(){
                    $("#title .titsh").removeClass("titsh");
                    $("#content .consh").removeClass("consh");
                    $(this).addClass("titsh");
                    $("#content>div:eq("+index+")").addClass("consh");
                })
            })
        })
    </script>
</head>
<body>
    <div id="tab">
        <div id="title">
            <ul>
                <li class="titsh">选项一</li>
                <li>选项二</li>
                <li>选项三</li>
                <li>选项四</li>
            </ul>
        </div>
        <div id="content">
            <div class="consh">内容一</div>
            <div>内容二</div>
            <div>内容三</div>
            <div>内容四</div>
    </div>
</div>
</body>
</html>

测试的结果是正常,后来在一个实际使用的页面中使用的时候,发现上面的li列表变动的时候,下面的div区块不跟着变动不同的区块,以为是css样式和实际使用的页面中其他的样式冲突了,将css选择器全部改成独有的之后,发现还是这个问题,于是判断应该是这里:

$("#title .titsh").removeClass("titsh");
$("#content .consh").removeClass("consh");
$(this).addClass("titsh");
$("#content>div:eq("+index+")").addClass("consh");

第一句,第二句取出样式的时候,没有问题,第三局给当前的li标签加上titsh的css样式也正常,就是最后一句 给通过div:eq(index)获取到的div区块加样式的时候失败。

于是我在
$("li").each(function(index){
$(this).mouseover(function(){这两句之间加了一个alert(index)弹窗,看看效果,发现有10几个li标签的索引值被alert出来,一想原来实际这个页面中还有其他的li标签,所以导致each()迭代出来的索引值和下面div区块的索引值对应不上,这样上面li标签变动的时候,下面的div区块就不跟着变了,于是我将js代码改了一下:

  <script type="text/javascript">
    $(function(){
          $("#title ul li").each(function(index){
            $(this).click(function(){
              $("#title .titsh").removeClass("titsh");
              $("#content .consh").removeClass("consh");
              $(this).addClass("titsh");
              $("#content > div:eq("+index+")").addClass("consh");
            })
          })
        })
  </script>

给要用.each()迭代的li元素的选择器加了限制,让他只能找我选项卡中的li标签来each出索引值,问题解决,可以睡觉了!

时间: 2024-10-11 21:42:19

Jquery和JS获取ul中li标签的相关文章

&lt;UL&gt;中&lt;li&gt;标签前编号图片的简单调用

<style type="text/css"> ul li{ list-style-type:none} .men ul{ background:url(http://top.baidu.com/img/icon-num.gif) no-repeat 0px 5px} .men ul li{ padding-left:20px; line-height:25px;} </style> <body> <div class="men&qu

用正则表达式抓取网页中的ul 和 li标签中最终的值!

获取你要抓取的页面 const string URL = "http://www.hn3ddf.gov.cn/price/GetList.html?pageno=1";            string htmlStr = null;            for (int i = 0; i < 10; i++)            {                try                {                    System.Net.Http

js获取表格中的数据 以及 表格中checkbox选中一行数据

前言 不知道是不是大家也遇到过类似的表单,但我绝对是第一次见,如下图所示,表单中包含了表格. 上图中的表格数据是根据数据库中学生表而变化的,这增加了获取表中数据的复杂程度,这里仅仅是记录js如何获取数据传值到后端的办法,所以,仅以表格中张三.李四为例. 示例代码 html <div class="modal-body"> <form id="exam-score-add-form" class="smart-form">

用ul、li标签 创建css横向导航菜单?(转)

创建CSS样式文本导航条的最简单解决方法也许就是把所有的链接都放在一行文本里,这种方法看起来很合理也很直观.但问题在于把所有的链接都放在一行文本里就很难控制链接之间以及前后的空白.所以,为了避免所有的链接都挤在一起,你最后通常都不得不插入一些东西或者非换行的空白字符作为分隔,让这些文字分离开来,不至于混在一起. 现在我们正常的做法是应用ul.li标签把链接作为无序列表(unordered list)来标识.再应用CSS样式对其进行控制,按我们预想的形式在容器中显示出来.对导航条使用无序列表似乎是

JS获取网页中HTML元素的几种方法分析

getElementById getElementsByName getElementsByTagName 大概介绍 getElementById ,getElementsByName ,getElementsByTagName ###adv### 后两个是得到集合,byid只是得到单个对象 getElementById 的用法 举个例子: <a id="link1" name="link1" href=http://homepage.yesky.com>

原生js获取css中class的方法

function getByClass( className, context) { var context = context || document; if( context.getElementsByClassName) { return context.getElementsByClassName(className); } var nodes = context.getElementsByTagName("*"); ret=[]; for( var i=0; i<nod

【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数

一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redirect(Request.UrlReferrer.ToString());} else { //没有来路地址 Response.Redirect("index.aspx"); 二.Js获取table中的行数与列数 var table =document.getElementById(&qu

js获取url中的参数,并保证获取到的参数不乱码

  //网上比较经典的js获取url中的参数的方法  function getQueryString(name) {      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");      var r = window.location.search.substr(1).match(reg);      if ( r != null ){        

js获取URL中的参数

js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ hostname 包含URL中主机名的字符串.如http://www.cenpok.net ; port 包含URL中可能存在的端口号字符串. pathname URL中"/"以后的部分.如~list/inde