最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中的this指向和自定義屬性詳解

 更新時(shí)間:2021年09月07日 15:43:12   作者:  
下面小編就為大家?guī)硪黄猨s中的this指向和自定義屬性。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

1.this關(guān)鍵字

this指向的是當(dāng)前元素

全局函數(shù)中的this指向window對象

代碼中聲明了一個(gè)全局函數(shù),是屬于瀏覽器窗口對象的,所以this表示的就是瀏覽器窗口對象window

function fn() {
	consolo.log(this);
}
fn()

標(biāo)簽事件屬性中的this指向window對象

如果將一個(gè)全局函數(shù)在一個(gè)標(biāo)簽屬性中調(diào)用,如下:

<button onclick="fn()">點(diǎn)我試試</button>
function fn() {
	console.log(this)
}

事件屬性函數(shù)中的this指向當(dāng)前操作的標(biāo)簽

如果在標(biāo)簽對象的屬性上聲明了一個(gè)函數(shù),此時(shí)這個(gè)函數(shù)屬于標(biāo)簽屬性,所以函數(shù)內(nèi)部的this指向當(dāng)前標(biāo)簽對象

<button id="btn">點(diǎn)我試試</button>
var btn = document.getElementById('btn');
btn.onclick = function() {
	console.log(this);
}

2.自定義屬性

在前端網(wǎng)頁的開發(fā)中,JavaScript語法操作的主要是標(biāo)簽對象,在一些特定的場合,需要通過設(shè)置自定義屬性來對標(biāo)簽進(jìn)行操作

基本語法:element.屬性名 =屬性值

var btn = document.getElementById('btn');
btn.index = 1;

3.綜合案例1:tab選項(xiàng)卡的實(shí)現(xiàn)

實(shí)現(xiàn)步驟
1.先完成靜態(tài)頁面的設(shè)計(jì)(html與css代碼見附錄)

2.先獲取頁面元素

 var uli = document.querySelector('ul').querySelectorAll('li');
 var oli = document.querySelector('ol').querySelectorAll('li');

3.通過for循環(huán)為元素添加點(diǎn)擊事件

for (var i = 0; i < uli.length; i++) {          
            uli[i].addEventListener('click', function () {   
               } )
        }

4.給元素添加自定義屬性,給對應(yīng)的選項(xiàng)卡添加索引號

  uli[i].index = i;

給點(diǎn)擊事件添加對應(yīng)的樣式(完整代碼)

for (var i = 0; i < uli.length; i++) {
            uli[i].index = i;
            uli[i].addEventListener('click', function () {
                for (var j = 0; j < uli.length; j++) {
                    uli[j].className = '';
                    oli[j].className = '';
                }
                this.className = 'current';
                oli[this.index].className = 'current';
            })
        }

注意:本案例是通過添加類名來實(shí)現(xiàn)對應(yīng)選項(xiàng)卡的顯示和隱藏,在給元素添加對應(yīng)的類名之前需要將所有元素的類名清除

附錄

<style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .box {
            height: 250px;
            width: 300px;
            border: 2px solid;
        }
        ul {
            display: flex;
            justify-content: space-between;
            background: red;
            border-bottom: 2px #ccc;
        }
        ul li {
            float: left;
            width: 100px;
            color: #fff;
            cursor: pointer;
            height: 40px;
            line-height: 40px;
            text-align: center;
        }
        ul li.current {
            border-bottom: 5px green solid;
        }
        ol li {
            margin: 30px;
            display: none;
        }
        ol li.current {
            display: block;
        }
    </style>
    <div class="box">
        <ul>
            <li class="current">第一頁</li>
            <li>第二頁</li>
            <li>第三頁</li>
        </ul>
        <ol>
            <li class="current">我是第一頁</li>
            <li>我是第二頁</li>
            <li>我是第三頁</li>
        </ol>
    </div>

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 深入了解Hybrid App技術(shù)的相關(guān)知識

    深入了解Hybrid App技術(shù)的相關(guān)知識

    這篇文章主要介紹了深入了解Hybrid App技術(shù)的相關(guān)知識,Hybrid App(混合模式移動應(yīng)用)是指介于web-app、native-app這兩者之間的app,兼具" Native App良好用戶交互體驗(yàn)的優(yōu)勢 "和" Web App跨平臺開發(fā)的優(yōu)勢 ",需要的朋友可以參考下
    2019-07-07
  • three.js簡單實(shí)現(xiàn)類似七圣召喚的擲骰子

    three.js簡單實(shí)現(xiàn)類似七圣召喚的擲骰子

    這篇文章主要為大家介紹了three.js簡單實(shí)現(xiàn)類似七圣召喚的擲骰子示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 解決jquery插件沖突的問題

    解決jquery插件沖突的問題

    本篇文章主要是對解決jquery插件沖突的方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • firefox下input type="file"的size是多大

    firefox下input type="file"的size是多大

    firefox對type="file" 的input的width定義目前是不支持的,但是FF支持size屬性,可以給size設(shè)置一個(gè)值,來控制上傳框的大小
    2011-10-10
  • 一文帶你理解JS中的原型和原型鏈

    一文帶你理解JS中的原型和原型鏈

    在學(xué)習(xí)JavaScript中的繼承機(jī)制時(shí),我們常常會遇到原型和原型鏈這兩個(gè)概念,在初學(xué)階段,不理解這些概念很容易陷入迷茫,甚至?xí)?dǎo)致學(xué)習(xí) JS 的路程變得曲折,本文將介紹JavaScript原型和原型鏈的概念、設(shè)計(jì)思想以及相關(guān)的使用方法,需要的朋友可以參考下
    2023-07-07
  • 用move.js庫實(shí)現(xiàn)百葉窗特效

    用move.js庫實(shí)現(xiàn)百葉窗特效

    本文主要介紹了用move.js庫實(shí)現(xiàn)百葉窗特效的思路與方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • 學(xué)前端,css與javascript重難點(diǎn)淺析

    學(xué)前端,css與javascript重難點(diǎn)淺析

    JavaScript是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),CSS(Cascading Style Sheet)層疊樣式表單,今天給大家分享css與javascript重難點(diǎn),感興趣的朋友一起看看吧
    2020-06-06
  • D3.js實(shí)現(xiàn)繪制柱狀圖的教程詳解

    D3.js實(shí)現(xiàn)繪制柱狀圖的教程詳解

    這篇文章主要為大家詳細(xì)介紹了如何通過D3.js實(shí)現(xiàn)繪制柱狀圖,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)D3.js有一定的幫助,需要的可以參考一下
    2022-11-11
  • 跟我學(xué)習(xí)javascript的嚴(yán)格模式

    跟我學(xué)習(xí)javascript的嚴(yán)格模式

    跟我學(xué)習(xí)javascript的嚴(yán)格模式,對javascript嚴(yán)格模式進(jìn)行概述,進(jìn)入嚴(yán)格模式的方法,以及如何調(diào)用和相關(guān)語法,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JS拉起或下載app的實(shí)現(xiàn)代碼

    JS拉起或下載app的實(shí)現(xiàn)代碼

    最近做項(xiàng)目遇到這樣的需求,通過手機(jī)網(wǎng)頁判斷是否安裝了自己公司app,如果安裝了則拉起app,沒有安裝則跳轉(zhuǎn)到下載頁。怎么實(shí)現(xiàn)呢?下面小編給大家分享js拉起或下載app的實(shí)現(xiàn)代碼,需要的朋友參考下
    2017-02-02

最新評論

汝城县| 孙吴县| 濉溪县| 汨罗市| 湟源县| 广水市| 东宁县| 吉木萨尔县| 迭部县| 伊金霍洛旗| 满洲里市| 确山县| 九寨沟县| 榆中县| 尉犁县| 天长市| 麻阳| 济源市| 河池市| 安徽省| 连云港市| 长治县| 成都市| 福鼎市| 伊宁县| 汝城县| 交口县| 台江县| 达拉特旗| 丹棱县| 涿鹿县| 上犹县| 威信县| 上虞市| 西平县| 攀枝花市| 凤山市| 二连浩特市| 临夏市| 保康县| 建阳市|