第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當新手遇到 jQuery.fn.extend

當新手遇到 jQuery.fn.extend

千萬里不及你 2018-12-06 11:02:19
(function ($) { $.fn.extend({ test: function () { var $this = $(this); $this.find('div').html('test'); },      test: function () { var $this = $(this); $this.find('div').html('test'); } }); })(jQuery); 測試代碼如上 ? 我也在頁面初始化的時候調(diào)用 $("#test").test();?$("#test1").test1(); 是沒問題的。 然后 我想通過按鈕點擊來觸發(fā)這個方法? 發(fā)現(xiàn)調(diào)用時候 顯示 undefined 我用控制臺?("#test1").test1 可以找到這個方法,但是("#test1").test1() 時候就提示undefined 我想問下是什么原因 ? 新手學習,求指教.
查看完整描述

6 回答

?
大話西游666

TA貢獻1817條經(jīng)驗 獲得超14個贊

你的代碼調(diào)用的是:("#test1").test1()

不知道樓主是不是這樣想的:

  為jQuery原型擴展兩個test方法,那么第二個test方法就叫test1。但是樓主在運行的時候發(fā)現(xiàn),test1為undefined。

樓主使用jQuery.fn.extend方法擴展,可以拆為下面的方法:

 jQuery.prototype.test=function(){
             var $this = $(this);
             $this.find('div').html('test');
 }
 //然后樓主又擴展了一遍test()方法,覆蓋了上面的test
 jQuery.prototype.test=function(){
             var $this = $(this);
             $this.find('div').html('test');
 }

從上面可以看到樓主調(diào)用的test1根本沒有被定義,既然沒有被定義,那么自然是undefined。

當然,如果是樓主粗心寫錯了的話........我就不說什么了

查看完整回答
反對 回復 2018-12-24
?
炎炎設計

TA貢獻1808條經(jīng)驗 獲得超4個贊

$.fn.extend是擴展的實例對象!

查看完整回答
反對 回復 2018-12-24
?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

$("#test").test 算是一個表達式,控制臺顯示出它的值。因為是個普通函數(shù),顯示的就是它的函數(shù)代碼了。

test() 的話,會執(zhí)行這個函數(shù),然后控制臺顯示返回值,你沒寫 return,所以就是 undefined 了

查看完整回答
反對 回復 2018-12-24
?
慕標琳琳

TA貢獻1830條經(jīng)驗 獲得超9個贊

推薦一本書你去看一下,就了然啦!如何編寫鋒利的jquery,我就是看這個現(xiàn)在才略知一二,樓上答案的你可以參考。

查看完整回答
反對 回復 2018-12-24
?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

?????????text1()哪里定義了啊

查看完整回答
反對 回復 2018-12-24
  • 6 回答
  • 0 關(guān)注
  • 510 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號