jQueryアニメーションとajax

4282 ワード

1.jQuery中、$(document).ready()とはどういう意味ですか.
ドキュメントが完全にロード(準備完了)される前にjQueryコードを実行しないように、ドキュメントがロードされない前に関数を実行すると、操作に失敗する可能性があります.ドキュメントのロードが完了してから操作を実行する必要があります.readyイベントを使用すると、jsをbodyの末尾に書くことに相当します.
$(document).ready(function() {
   //do something
})

$().ready(function() {
   //do something
})

$(function() {
   //do something
})

2. $node.html()と$node.text()の違いは?
$node.html()は、選択する要素内のhtmlコンテンツを返し、htmlラベルとテキストコンテンツ$nodeを含む.text()は、選択した要素内のテキスト内容を返し、htmlラベルを含まず、テキスト内容のみを含む
3. $.extendの役割と使い方?
$.extendメソッドは、複数のオブジェクトを最初のオブジェクトにマージするために使用します.
var o1 = {p1:'a',p2:'b'};
var o2 = {p1:'c'};

$.extend(o1,o2);
o1.p1 // "c"  

$.extendのもう1つの使い方は、既存のオブジェクトを継承するための新しいオブジェクトを生成することです.この場合、最初のパラメータは空のオブジェクトである必要があります.
var o1 = {p1:'a',p2:'b'};
var o2 = {p1:'c'};

var o = $.extend({},o1,o2);
o
// Object {p1: "c", p2: "b"}

デフォルトでは、extendメソッドで生成されるオブジェクトは「浅いコピー」です.つまり、属性がオブジェクトまたは配列の場合、値はコピーされずにそのオブジェクトまたは配列を指すポインタのみが生成されます.「深いコピー」を使用する場合は、extendメソッドの最初のパラメータからブール値trueを入力できます.
var o1 = {p1:['a','b']};

var o2 = $.extend({},o1);
var o3 = $.extend(true,{},o1);

o1.p1[0]='c';

o2.p1 // ["c", "b"]
o3.p1 // ["a", "b"]

4.jQueryのチェーンコールは何ですか?
jQueryメソッドを使用すると、オブジェクトメソッドはオブジェクト自体を返し、このオブジェクトの他のメソッドを呼び出し続け、複数のメソッドを連続的に呼び出すことができます.
$('#btn').on('click', function() {
    $('.main').fadeIn('slow').animate({height: '100px'}, 500);
})

5.jQueryにおけるdata関数の役割
html 5のdata属性と同様に、ユーザーがラベルにデータをバインドするのを容易にするために使用され、jqueryのdata関数は現在のjqueryオブジェクトが一致するすべての要素にデータをアクセスするために使用され、data()関数がアクセスするデータは一時的なデータであり、ページがリフレッシュされると、以前に保存されたデータは存在しません.removeData()メソッドを削除する必要がある場合.使用法:keyとvalue、またはobjectの2つのパラメータを入力できます.データを読み込むときは、最初の一致要素のみに準拠することに注意してください.
6.次の機能に対応するjQueryメソッドを書き出します.
1.要素$nodeにclass activeを追加し、要素$noedにclass activeを削除する
$node.addClass('active');//  
$node.removeClass('active');//  

2.表示要素$node、非表示要素$node
$node.show();
$node.hide();

3.要素$nodeの属性を取得する:id、src、title、以上の属性を変更する
//   
$node.attr('id');
$node.attr('src');
$node.attr('title');
//   
$node.attr('id', 'wrap');
$node.attr('src', 'https://github.com');
$node.attr('title', 'welcome');

4.$nodeにカスタム属性data-srcを追加
$node.attr('data-src', wrap);

5.$ct内部の先頭に要素$nodeを追加
$ct.prepend($node);

6.$ct内部の最後尾に要素$nodeを追加
$ct.append($node);

7.$nodeの削除
$node.remove()

8.$ctの内容をクリアする
$ct.empty();

9.htmlを$ctで設定
$ct.html('
')

10.获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)

$node.width(); // content
$node.height(); // content
$node.innerWidth(); // content+padding
$node.innerHeight(); // content+padding
$node.outWidth(); // content+padding+border
$node.outHeight(); // content+padding+border
$node.outWidth(true); // content+padding+border+margin
$node.outHeight(true); // content+padding+border+margin

11.ウィンドウスクロールバーの垂直スクロール距離を取得する
$(window).scrollTop();

12.ルートノードへの$nodeの水平、垂直オフセット距離の取得
$node.offset();

13.$nodeのスタイルを変更し、フォント色を赤、フォントサイズを14 px設定
$node.css({'color': 'red'; 'font-size': '14px'})

14.ノードを巡回し、各ノードのテキスト内容を繰り返します
$.each(function () {
    console.log($(this).text());
})

15.$ctからclassを検索する.itemのサブエレメント
$ct.find('.item');

16.$ctのすべての子供を取得する
$ct.children();

17.$nodeの場合、classは'.ct'の父は、その父から見つかった.パネルの子
$node.parent('.ct').find('.panel');

18.選択した要素の数を取得する
$node.length;

19.兄弟における現在の要素のランキングを取得する
$(this).index();