我爱编程

jquery-2

2017-10-06  本文已影响0人  倾国倾城的小饼干
  1. $(document).ready()

当dom完全加载(例如html被完全解析dom树构建完成时),jquery允许你执行代码,使用此函数可以做到表现与逻辑分离,并且所有的浏览器都支持,可以放到页面的任何位置。

  1. $node.html()和$node.text()的区别

$node.html()用于获取/修改元素的innerHtml的参数值。
$node.text()用于获取/修改元素的innerText的参数值。
两者都是将字符串放入html的标签中的一个函数,但是innerHtml它可以解析html标签。例如,你放入一个<a>史蒂夫</a>如果在div中它里面会出现一个带下划线的a元素,但是innerText只支持普通字符串。
对于<div class='show'><b><i>write less do more</i></b></div>如果我们用var Html=$('.show').html()取的话结果是<b><i>write less do more</i></b>,如果我们用var Html=$('.show b i ').html()取的话结果是write less do more,而text没有第一种情况,如果我们用 var Text=$('.show').text();取的话,结果是write less do more。

  1. $.extend 的作用和用法

用法一:合并settings和options修改并返回settings

var settings={validate: false,limit: 2,name:'foo'};
var options={validate: true,name:'bar'}
$.extend(settings,options);

结果:settings=={limit: 2,name:'foo',validate: true,name:'bar'}
用法二:合并defaults和options不修改defaults.

var empty={};
var defaults={validate: false,limit:5,name:'foo'};
var options={validate: true,name:'bar'};
var settings=$.extend(empty,dafaults,optionos);
settings=={validate: true,limit:5,name:'bar'}
empty=={validate: true,limit: 5,name:'bar'}
  1. jQuery 中 data 函数的作用

在元素上存放或读取数据,返回jquery对象。
当参数只有一个key时候为读取该jquery对象对应的dom中存储的key对应的值。当参数为两个的时候,为向该jquery对象对应的dom中存储key-value键值对的数据。
实例一:在一个div上存储数据
html代码:

<div></div>

jquery代码:

$('div').data('blah')//undefind
$('div').data('blah','hello')//blah设置为hello
$('div').data('blah');//hello

实例二:
html代码:

<div></div>

jquery代码:

$('div').data('test',{first:16,last:'pizza!'})
$('div').dat('test').first//16;
$('div').data('test').last//pizza!

实例三:
在html5规范中div中读取预存的data-[key]值
html代码:

<div data-test='this is test'></div>

jquery代码:

$('div').data('test');//this is test!;
  1. jQuery 的链式调用

$('#myphoto').css('border','solid 2px #ff0000').attr('alt','good')对于一个jquery对象先调用了css()函数修改样式,然后使用attr()函数修改属性,这种调用方式像链一样,所以称为链式操作。可以让代码简洁。
除了获取某些数据的函数,比如获取属性值'attr(name)',获取集合大小‘size()’这些函数是明显返回数据的,除了这些函数之外的jquery函数都可以用于链式操作,比如设置属性‘attr(name.value)’

  1. 写出以下功能对应的 jQuery 方法

width()//只包括内容
height//只包括内容
innerWidth()//width+padding
innerHeight()//height+padding
outerWidth()//width+border+padding
outerHeight()//height+border+padding
outerWidth(true)//padding+margin+border+width
outerWidth('100px',true)//设置
outerHeight(true)//height+padding+margin+border
$('ul li').each(function(index,node){
var str=$(node).text();
  $(node).text(str+str);
});
  1. 用jquery完成以下题目

<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    .btn{
      width: 50px;
      height: 40px;
      border: 1px solid red
    }
  </style>
</head>
<body>
  <div class='btn'>123</div>
</body
$('.btn').on('click',function(){
  $('.btn').css({background:'red'});
  setTimeout(function(){
    $('.btn').css('background','blue');
  },1000);
});
$(document).on("scroll",function(){
        $(this).scrollTop();
    });
$('.btn').on('mouseenter',function(){
  $(this).css('background','red');
});
$('.btn').on('mouseleave',function(){
  $(this).css('background','white');
});
$('input').on('focus',function(){
  $(this).css('border','blue');
});
$('input').on('change',function(){
  $(this).val($(this).val().toUpperCase());
});
$('input').on('blur',function(){
  $(this).css('border','');
  console.log($(this).val());
});
<select name="" id="select">
     <option value="beijing">beijing</option>
     <option value="shanghai">shanghai</option>
     <option value="hangzhou">hangzhou</option>
   </select>
$('#select').on('change',function(){
  $(this).find('option:selected').text();
});
loadmore1.jpg
代码
上一篇下一篇

猜你喜欢

热点阅读