簡體   English   中英

事件.on('click','class',function(){})中的“ this”是什么

[英]What is “this” inside the event .on('click', 'class', function () {})

我試圖訪問我單擊以添加或刪除類的行,但是似乎我誤解了this的值。 在事件被稱為DOM的情況下不是很容易嗎(在本例中為<li> )? 這是我的代碼:

JAVASCRIPT

$(document).on('click', '.ToDownload', function() 
        {
            if($(this).className.lastIndexOf("isSelected") != -1)
            {
                $(this).addClass("isSelected");
                $(this).css('border', '2px solid #000099')
            }
            else
            {
                $(this).removeClass("isSelected");
                $(this).css('border', 'none')
            }
        });

的HTML

<li id="addedDownloadFileRow" class="fitting ToDownload">
    <a href="#">
        <div class="ui-grid-a">
            <div class="ui-block-a">test1</div>
            <div class="ui-block-b">test2</div>
        </div>
    </a>
</li>

其實,我想我可以使用屬性className如果已經選擇了我行找到,但似乎this心不是在的DOM <li>標記。 任何信息或了解this是什么的方式將不勝感激。

PS類“ fitting”僅用於某些CSS目的。

this是一個DOM Element$(this)是一個jQuery對象

完整的工作代碼位於http://jsfiddle.net/tomi77/xgv8q9md/

如果您使用Chrome(不知道是否在Firefox這個作品),你可以的價值登錄this控制台。

如果它是一個jQuery對象,則可能不清楚它所引用的是哪個元素,但是很容易將底層元素取出。

console.log(this[0]);

這將為您提供元素本身的最小表示,如果將鼠標懸停在元素上,您將在Web視圖本身中看到突出顯示的元素。

在此處輸入圖片說明

這使您可以准確查看它所指的哪個元素。 如注釋中所述,您還可以使用console.dir(element)將元素的直接對象形式記錄到控制台。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM