jQuery学习笔记4:DOM和CSS

简介:

1    设置元素及内容

wKioL1MAmH7wP3XTAAFne076Kns619.jpg

样例:

   alert($('#box').html());
   alert($('#box').text());            //text获取的是文本,有html会自动被清理
   $('#box').html('<em>www.li.cc</em>');        //替换HTML内容,HTML会自动解析
   $('#box').text('<em>www.li.cc</em>');        //替换文本内容,有HTML会自动转义

   alert($('input').val()); //获取表单value值
   $('input').val('女');    //设置表单value值    
   $('input').val(['男', '女', '编程']);  //根据表单value值选定对应选项


2 元素属性操作

wKioL1MAm1DyyLFCAAF7MLdnEh4232.jpg

样例:

   alert($('#box').attr('id'));  //获取key为id的属性值

   $('div').attr('title', 'test');  //给div元素增加属性title='test'

   $('div').attr({
       'title' : 'test',
       'class' : 'red',                        
       'data' : '123'
   });
   备注:class不建议用attr来设置

   $('div').removeAttr('title');  //删除title属性


   jQuery中的很多方法都可以使用function(){}来返回字符串,比如:html()、text()、val()、is()、filter()等方法。如果涉及到多个元素集合的话,还可以传递index参数来获取索引值,并且可以使用第二个参数value来获取原始值。

   $('div').attr('title', function () {
       return '我是域名';
   });

   $('div').attr('title', function (index, value) {
       return '原来的title是:' + value + ',现在的title是:我是' + (index+1) + '号域名';
   });

   $('div').html($('div').html() + '<em>www.li.cc</em>');
等效于:
   $('div').html(function (index, value) {
       return value +  '<em>www.li.cc</em>';
   });


3    元素样式操作

wKioL1MBoeuTqfkfAATN3xkrL1A606.jpg

样例:

   alert($('div').css('color')); //获取元素内CSS样式的样色
   $('div').css('color', 'red'); //设置元素行内CSS样式颜色为红色

   var box = $('div').css(['color', 'width', 'height']);  //得到CSS样式的数组对象
  备注:box[0]不能访问,只能box['color']
   //逐个遍历出来
   for (var i in box) {
       alert(i + ':' + box[i]);
   }
   //采用jQuery遍历方法$.each()
   $.each(box, function (attr, value) {
       alert(attr + ':' + value);
   });

   //访问原生JavaScript对象数组
   alert($('div')[0]);    
   $('div').each(function (index, element) {
       alert(index + ':' + element);
   });

   //设置多个样式
   $('div').css('color', 'red').css('background-color', '#ccc');
等效于
   $('div').css({
       'color' : 'blue',
       'background-color' : '#eee',
       'width' : '200px',
       'height' : '30px'
   });

   //需要计算值,传递匿名函数
   $('div').css('width', function (index, value) {        
       return parseInt(value) - 500 + 'px';
   });


   $('div').addClass('red');  //添加一个CSS类
   $('div').addClass('red bg size'); //添加多个CSS类
   $('div').removeClass('bg'); //删除一个CSS类
   $('div').removeClass('red size'); //删除多个CSS类


   $('div').click(function () {
       $(this).toggleClass('red size');                //两个样式之间的切换,默认样式和指定样式的切换
   });


   //实现样式1和样式2之间的切换
   $('div').click(function () {
       //这里只是click的局部,而又是toggle的全局
       $(this).toggleClass('red');     //一开始切换到样式2        
       if ($(this).hasClass('red')) {   //判断样式2存在后
           $(this).removeClass('green');  //删除样式1
       } else {
           $(this).toggleClass('green');   //添加样式1
           //$(this).addClass('green');
       }
   });

等效于:

   $('div').click(function () {
       $(this).toggleClass(function () {
           //局部
           if ($(this).hasClass('red')) {
               $(this).removeClass('red');
               return 'green';
           } else {
               $(this).removeClass('green');
               return 'red';
           }
       });                
   });


4    CSS方法

wKioL1MBsNnxNSV1AAT3lxdG-C8713.jpg

样例:

   alert($('div').width());  //获取元素高度,返回类型为number    
   $('div').width(500);  //设置元素高度,直接传数值,默认加px
   $('div').width('500px');
   $('div').width('500pt');


   $('div').width(function (index, width) {
       return width - 500 + 'px';    //虽然可以不加,会智能添加,但还是建议加上单位,更加清晰。
   });


   alert($('div').offset().top);  //相对于视口的偏移    
   alert($('div').position().top);    //相对于父元素的偏移
   alert($(window).scrollTop());  //获取当前滚动条的位置
   $(window).scrollTop(300);   //设置当前滚动条的位置





     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1359584,如需转载请自行联系原作者










相关文章
|
JavaScript 前端开发
jQuery和CSS3超酷全屏视觉差幻灯片特效
jQuery和CSS3超酷全屏视觉差幻灯片特效
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
271 22
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
426 21
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
258 2
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
JavaScript
jQuery和CSS3精美翻页式电子时钟特效
jQuery和CSS3精美翻页式电子时钟特效
|
JavaScript 前端开发
jQuery和CSS3斑马线样式range滑块特效
jQuery和CSS3斑马线样式range滑块特效
|
JavaScript
jQuery+css3制作精美的2024圣诞节倒计时页面
jQuery+css3制作精美的2024圣诞节倒计时页面动画
167 0
jQuery+css3制作精美的2024圣诞节倒计时页面
|
JavaScript 前端开发 Android开发
|
11月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中