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");
            }
          );
复制代码

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

回到目录

posted @   张占岭  阅读(1677)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2012-01-16 谁说LINQ复杂查询不支持返回实名类型~复杂结果集中再使用复杂结果集
点击右上角即可分享
微信分享提示