jquery获取
  • 标签下标签的值,并增添class属性
  • jquery获取<li>标签下<a>标签的值,并添加class属性
    本帖最后由 Myprettygirl 于 2013-06-09 09:45:50 编辑
    <ul id=getcolor>   
    <li><a href="#" >11</a></li>
    <li><a href="#" >22</a></li>
    <li><a href="#" >33</a></li>
    <li><a href="#" >44</a></li>          
    </ul>
    我想用jquery获取当前点击的<a>标签的值,并且同时添加一个属性class。并且把别的<a>标签的属性移除
    我的代码是这样的,已经获取到了<a>标签值,但是怎么添加属性都不对
    var lis = $("#getcolor li");
       for(i=0;i<lis.length;i++){
        lis[i].onclick=function(){
    alert(this.getElementsByTagName("a")[0].innerHTML);
                   //在这里添加属性和移除别的a标签属性,该怎么写???

     }

    另外this.getElementsByTagName("a")[0].innerHTML这句,在jquery中有没有方法代替?
    ------解决思路----------------------
    <script type="text/javascript">
        //点击当前的a添加on类,并给其他a清除类名
        $("#getcolor li a").click(function(){
            $(this).addClass("on").parent().siblings().find("a").removeAttr("class");
        })
    </script>

    ------解决思路----------------------
    $("#getcolor li").click(function(){
        $(this).children("a").addClass("class1").parent().siblings().find("a").removeClass("class1");
    });

    ------解决思路----------------------
    引用:
    <script type="text/javascript">
        //点击当前的a添加on类,并给其他a清除类名
        $("#getcolor li a").click(function(){
            $(this).addClass("on").parent().siblings().find("a").removeAttr("class");
        })
    </script>


    另外this.getElementsByTagName("a")[0].innerHTML这句,在jquery中可替换为$(this).find("a").eq(0).text()
    ------解决思路----------------------
    因为a是行内替换元素,对其宽度什么不太容易统一控制,还是操作li的样式比较好。

    $(function() {
    $("ul li").bind("click",function() {
        $(this).addClass("selected").siblings().removeClass("selected");
    });
    });