jQuery ajax

題目1: jQuery 中, $(document).ready()是什么意思?
所有包括在$(document).ready()里面的元素或事件都將會(huì)在DOM完成加載之后立即加載,并且在頁(yè)面內(nèi)容加載之前。
1.執(zhí)行時(shí)間
window.onload必須等到頁(yè)面內(nèi)包括圖片的所有元素加載完畢后才能執(zhí)行
$(document).ready()是DOM結(jié)構(gòu)繪制完畢后就執(zhí)行,不必等到加載完畢
2.編寫個(gè)數(shù)
window.onload不能同時(shí)編寫多個(gè),如果有多個(gè)window.onload方法,只會(huì)執(zhí)行一個(gè)(除非通過對(duì)onload事件進(jìn)行卸載重新添加事件的方式添加多個(gè)需要執(zhí)行的方法)
$(document).ready()可以同時(shí)編寫多個(gè),并且都可以得到執(zhí)行

題目2: $node.html()和$node.text()的區(qū)別?
$node.html(),返回所選擇元素內(nèi)的html內(nèi)容,包含html標(biāo)簽和文本內(nèi)容
$node.text(),返回所選擇元素內(nèi)的文本內(nèi)容,不包含html標(biāo)簽,只包含文本內(nèi)容

題目3: $.extend 的作用和用法?
語(yǔ)法:
jQuery.extend( [ deep ], target , object1 [, objectN... ] )
deep:可選/Boolean類型,指是否深度合并對(duì)象,默認(rèn)為false。如果該值為true,且多個(gè)對(duì)象的某個(gè)同名屬性也都是對(duì)象,則該"屬性對(duì)象"的屬性也將進(jìn)行合并。
target: Object類型,目標(biāo)對(duì)象,其他對(duì)象的成員屬性將被復(fù)制到該對(duì)象上。
object1: 可選/Object類型,第一個(gè)被合并的對(duì)象。
objectN: 可選/Object類型,第N個(gè)被合并的對(duì)象。

  • 參數(shù)deep的默認(rèn)值為false,你可以為該參數(shù)明確指定true值,但不能明確指定false值。簡(jiǎn)而言之,第一個(gè)參數(shù)不能為false值。
  • 如果參數(shù)為null或undefined,則該參數(shù)將被忽略。
  • 如果只為$.extend()指定了一個(gè)參數(shù),則意味著參數(shù)target被省略。此時(shí),target就是jQuery對(duì)象本身。通過這種方式,我們可以為全局對(duì)象jQuery添加新的函數(shù)。
  • 如果多個(gè)對(duì)象具有相同的屬性,則后者會(huì)覆蓋前者的屬性值。
jQuery.extend(): Merge the contents of two or more objects together into the first object.(把兩個(gè)或者更多的對(duì)象合并到第一個(gè)當(dāng)中)
jQuery.fn.extend():Merge the contents of an object onto the jQuery prototype to provide new jQuery instance methods.(把對(duì)象掛載到j(luò)Query的prototype屬性,來擴(kuò)展一個(gè)新的jQuery實(shí)例方法)

簡(jiǎn)單來說:$.extend(),是用來擴(kuò)展jQuery靜態(tài)方法;$.fn.extend()是用來擴(kuò)展jQuery實(shí)例方法。

    //擴(kuò)展靜態(tài)方法:
    $.extend({
        sayName:function (){
            console.log("My name is jQuery");   
        }
    });

    $.sayName(); //"My name is jQuery"

    //擴(kuò)展實(shí)例方法:
    $.fn.extend({
        check: function() {
            return this.each(function() {
                this.checked = true;
            });
        }
    });

    $( "input[type='checkbox']" ).check(); //所有的checkbox都會(huì)被選擇
//擴(kuò)展的靜態(tài)方法,直接使用$調(diào)用;擴(kuò)展的實(shí)例方法,要用$()調(diào)用。

題目4: jQuery 的鏈?zhǔn)秸{(diào)用是什么?
鏈?zhǔn)讲僮骶褪欠植襟E地對(duì)jQuery對(duì)象實(shí)現(xiàn)各種操作

$("#Test").addClass('style').find("div").eq(0).fadeOut(200);

上面的例子就是鏈?zhǔn)讲僮鳎谝恍写a里,先為id為Test的對(duì)象添加"style"這個(gè)樣式,再找尋其下的第一個(gè)div標(biāo)簽,并使其淡出。

鏈?zhǔn)讲僮髂軌蜃尨a變得簡(jiǎn)潔,因?yàn)榭梢栽谝粭l語(yǔ)句中實(shí)現(xiàn)以往多條語(yǔ)句才能完成的任務(wù)。

題目5: jQuery 中 data 函數(shù)的作用
data() 方法向被選元素附加數(shù)據(jù),或者從被選元素獲取數(shù)據(jù)。
通過data()函數(shù)存取的數(shù)據(jù)都是臨時(shí)數(shù)據(jù),一旦頁(yè)面刷新,之前存放的數(shù)據(jù)都將不復(fù)存在。
該函數(shù)屬于jQuery對(duì)象(實(shí)例)。如果需要移除通過data()函數(shù)存放的數(shù)據(jù),使用 removeData() 函數(shù)。
使用方式:
1、獲取附加的data的值
$(selector).data(name)
name:可選。規(guī)定要取回的數(shù)據(jù)的名稱。
如果沒有規(guī)定名稱,則該方法將以對(duì)象的形式從元素中返回所有存儲(chǔ)的數(shù)據(jù)。
2、用name和value為對(duì)象附加數(shù)據(jù)
$(selector).data(name,value)
selector:為需要附加或者獲取數(shù)據(jù)的對(duì)象。
name:參數(shù)為數(shù)據(jù)的名稱。
value:參數(shù)為數(shù)據(jù)的值。
3、使用對(duì)象向元素附加數(shù)據(jù)
使用帶有名稱/值對(duì)的對(duì)象向被選元素添加數(shù)據(jù)。
$(selector).data(object)
object:必需。規(guī)定包含名稱/值對(duì)的對(duì)象。

題目6:寫出以下功能對(duì)應(yīng)的 jQuery 方法:
給元素 $node 添加 class active,給元素 $noed 刪除 class active

$node.addClass('active');//添加
$node.removeClass('active');//刪除

展示元素$node, 隱藏元素$node

$node.show()
$node.hide()

獲取元素$node 的 屬性: id、src、title, 修改以上屬性

//獲得
$node.attr('id');
$node.attr('src');
$node.attr('title');
//修改
$node.attr('id', 'newid');
$node.attr('src', 'newsrc');
$node.attr('title', 'newtitle');

給$node 添加自定義屬性data-src

$node.attr('data-src',str)
$node.data("src",str)

在$ct 內(nèi)部最開頭添加元素$node

$(".ct").prepend($node);

在$ct 內(nèi)部最末尾添加元素$node

$(".ct").append($node);

刪除$node

$node.remove()

把$ct里內(nèi)容清空

$(".ct").empty();

在$ct 里設(shè)置 html <div class="btn"></div>

$(".ct").html('<div class="btn"></div>');

獲取、設(shè)置$node 的寬度、高度(分別不包括內(nèi)邊距、包括內(nèi)邊距、包括邊框、包括外邊距)

//不包括內(nèi)邊距
$node.width();//獲取寬度
$node.height();//獲取高度
$node.width('value');//設(shè)置寬度
$node.height('value');//設(shè)置高度
//包括內(nèi)邊距
$node.innerWidth();//獲取包括內(nèi)邊距的寬度
$node.innerHeight();//獲取包括內(nèi)邊距的高度
$node.innerWidth('value');//設(shè)置包括內(nèi)邊距的寬度
$node.innerHeight('value');//設(shè)置包括內(nèi)邊距的高度
//包括邊框
$node.outerWidth();//獲取包括邊框?qū)挾?$node.outerHeight();//獲取包括邊框高度
$node.outerWidth('value');//設(shè)置包括邊框?qū)挾?$node.outerHeight('value');//設(shè)置包括邊框高度
//包括外邊距
$node.outerWidth(true);//獲取包括外邊距寬度
$node.outerHeight(true);//獲取包括外邊距高度

獲取窗口滾動(dòng)條垂直滾動(dòng)距離

$(window).scrollTop()

獲取$node 到根節(jié)點(diǎn)水平、垂直偏移距離

$node.offset().left
$node.offset().top

修改$node 的樣式,字體顏色設(shè)置紅色,字體大小設(shè)置14px

$node.css({
 'color': 'red',
 'font-size': '14px';
});

遍歷節(jié)點(diǎn),把每個(gè)節(jié)點(diǎn)里面的文本內(nèi)容重復(fù)一遍

$node.each(function(){
  console.log($(this).text());
});

從$ct 里查找 class 為 .item的子元素

$(".ct").find(".item");

獲取$ct 里面的所有孩子

$('.ct').children()

對(duì)于$node,向上找到 class 為'.ct'的父親,
在從該父親找到'.panel'的孩子

$node.parents('.ct').find('.panel')

獲取選擇元素的數(shù)量

$node.length

獲取當(dāng)前元素在兄弟中的排行

node.index()

題目7:用jQuery實(shí)現(xiàn)以下操作
預(yù)覽地址
當(dāng)點(diǎn)擊$btn 時(shí),讓 $btn 的背景色變?yōu)榧t色再變?yōu)樗{(lán)色
當(dāng)窗口滾動(dòng)時(shí),獲取垂直滾動(dòng)距離
當(dāng)鼠標(biāo)放置到$div 上,把$div 背景色改為紅色,移出鼠標(biāo)背景色變?yōu)榘咨?br> 當(dāng)鼠標(biāo)激活 input 輸入框時(shí)讓輸入框邊框變?yōu)樗{(lán)色,當(dāng)輸入框內(nèi)容改變時(shí)把輸入框里的文字小寫變?yōu)榇髮懀?dāng)輸入框失去焦點(diǎn)時(shí)去掉邊框藍(lán)色,控制臺(tái)展示輸入框里的文字
當(dāng)選擇 select 后,獲取用戶選擇的內(nèi)容

題目8: 用 jQuery ajax 實(shí)現(xiàn)如下效果。當(dāng)點(diǎn)擊加載更多會(huì)加載數(shù)據(jù)展示到頁(yè)面效果預(yù)覽
前臺(tái):

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>jQuery加載更多</title>

</head>

<body>
    <div class="layout">
        <ul class="ct">
            <li>內(nèi)容1</li>
            <li>內(nèi)容2</li>
        </ul>
        <a href="#" class="load-more">加載更多</a>
    </div>
    <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
        crossorigin="anonymous"></script>
    <script>
        var $load = $('.load-more')
        var cur = 3
        $load.on('click', function (e) {
            e.preventDefault();

            $.ajax({
                url: '/loadMore',
                dataType: 'json',
                type: 'get',
                data: {
                    curIdx: cur,
                    len: 5
                },
                success: function (json) {
                    onSuccess(json)
                },
                error: function () {
                    onError()
                }
            })
        })

        function onSuccess(json) {
            cur += 5
            append(json)
        }

        function append(arr) {
            for (var i = 0; i < arr.length; i++) {
                $('.ct').append('<li>' + arr[i] + '</li>')
            }
        }

        $('.ct').on('mouseenter', 'li', function () {
            $(this).addClass('hover')
        })
        $('.ct').on('mouseleave', 'li', function () {
            $(this).removeClass('hover')
        })
    </script>
</body>

</html>

后臺(tái):

app.get('/loadMore', function (req, res) {
  var cur = req.query.curIdx;
  var len = req.query.len;
  var arr = [];
  for (var i = 0; i < len; i++) {
    arr.push('內(nèi)容' + (parseInt(cur) + i));
  }
  res.send(arr);

})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,442評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,802評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,983評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,287評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,486評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,710評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評(píng)論 1 294
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,224評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,462評(píng)論 2 378

推薦閱讀更多精彩內(nèi)容

  • 1. jQuery 中, $(document).ready()是什么意思? 當(dāng)DOM準(zhǔn)備就緒時(shí),指定一個(gè)函數(shù)來執(zhí)...
    好奇而已閱讀 361評(píng)論 0 1
  • 1, jQuery 中, $(document).ready()是什么意思? .ready(handler) 當(dāng)D...
    DeeJay_Y閱讀 286評(píng)論 0 0
  • 題目1: jQuery 中, $(document).ready()是什么意思?當(dāng)html文檔DOM樹加載完成,執(zhí)...
    Wensx閱讀 312評(píng)論 0 0
  • 題目1: jQuery 中, $(document).ready()是什么意思? 描述:當(dāng)DOM準(zhǔn)備就緒的時(shí)候,指...
    饑人谷_羅丹閱讀 238評(píng)論 0 0
  • 題目1: jQuery 中, $(document).ready()是什么意思? $(document).read...
    YASINCHAN閱讀 365評(píng)論 0 0