zoukankan      html  css  js  c++  java
  • Jquery真的不难~第三回 如何改变HTML标签的样式

    回到目录

      对于如何修饰HTML标签,这对于JS来说,可以通过setAttribute来设置标签的属性,通过getAttribute来得到标签的属性,而在JQ中当然也可以实现类似的功能,方法上肯定比JS要简化多了。

    一 通过修改标签属性来改变它的样式

    JS设置和获取标签的属性

      <script type="text/javascript">
            window.onload = function () {
                var attr = document.getElementById("attr");
                attr.setAttribute("style", "font-weight:bold;")
                alert(attr.getAttribute("style"));
            }
        </script>

    JQ设置和获取标签的属性

        <script src="http://img1.c2cedu.com/Scripts/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
                $("#attr").attr("style", "color:#ff0000");//单个属性的设置
                $("#Avatar").attr({ "class": "banner", "alt": "头像", "src": "http://pic.cnblogs.com/avatar/a118538.jpg?id=11133319" });//多个属性的设置
                alert($("#Avatar").attr("src")); //得到指定标签的属性
            });
        </script>

    值得注意的是JS的window.onload方法块的内容是在JQ的$(function(){})方法块执行完成后,再执行的。

    二 通过修改标签的CSS样式来改变它的样式

    看看基本的语法:

                $("#attr").addClass("banner");//添加样式
    
                $("#attr").removeClass("banner");//移除样式
              
            //JQ支持连带写法,因为removeClass的返回结果也是一个Jq对象,所以Jq对象的所有方法和事件它都可以使用 $("#attr").removeClass("banner").addClass("bannerOver");

    下面是一个例子,当在dd标签上单击时,将当前dd块进行高亮显示

    <style>
            .banner { background: #0094ff; }
            .bannerOver { background: #808080; }
            .cur { background: #ff6a00; }
        </style>
    <script>
      $(function () {
       $('#menu_title').find('dd').click(function () {
                    $('#menu_title').find('dd').removeClass('cur');
                    $(this).addClass('cur');
                })
             })
    </script>
     <dl id="menu_title">
            <dt>人</dt>
            <dd>一种高级动物</dd>
            <dt>狗</dt>
            <dd>人类的朋友</dd>
            <dt>猫</dt>
            <dd>猫科动物的祖先</dd>
        </dl>

    下面是为表格的隔行变色效果

           .odd { background: #808080; }
            .even { background: #ffd800; }
            .selected { background: #0094ff; color: #fff; }
         .hover { background: #808080; }
          var $trs = $("#menu_title>dd"); //选择所有行
             $trs.filter(":odd").addClass("odd"); //给奇数行添加odd样式
             $trs.filter(":even").addClass("even"); //给偶数行添加odd样式

    单击行后,让当前行高亮显示

      //点击行,添加变色样式
        $trs.click(function(e) {
            $(this).addClass("selected")
             .siblings()
             .removeClass(
    "selected"); })

    添加鼠标移入与移出事件

           // 鼠标移入 与移出
                $("#menu_title>dd").hover(
                function () {
                    $(this).addClass("hover");
                },
                function () {
                    $(this).removeClass("hover");
                }
              );

    恩,好了对于标签的样式控制这块内容就讲到这里吧,感谢您的阅读!

    回到目录

  • 相关阅读:
    【YbtOJ#20068】连通子图
    【YbtOJ#20067】糖果分配
    【GMOJ6801】模拟patrick
    【GMOJ6800】模拟spongebob
    【洛谷P4449】于神之怒加强版
    【洛谷P3601】签到题
    【洛谷P2408】不同子串个数
    【洛谷P3809】【模板】后缀排序
    【JZOJ1753】锻炼身体
    【GMOJ1164】求和
  • 原文地址:https://www.cnblogs.com/lori/p/2862636.html
Copyright © 2011-2022 走看看