簡體   English   中英

如何從jquery中的事件中獲取HTML元素?

[英]How to get HTML element from event in jquery?

在jQuery函數中,我在窗體的元素單擊事件上獲取事件。 現在我想得到它的HTML。 怎么可能?

例如:

function(event, ID, fileObj, response, data) {
    alert( $(event.target) );            // output: [object Object]
    alert( event.target );               // output: [object HTMLInputElement]
    alert( $(event.target).html() );     // output: (nothing)    
}

我想獲得通過event點擊元素的表單對象

謝謝

您可以嘗試event.target.outerHTML ,但我不確定它在所有瀏覽器中的支持程度如何。 一個更復雜但肯定工作的解決方案是將元素包裝在另一個元素中,然后獲取父元素的html:

$('<div/>').html($(event.target).clone()).html();

如果您的事件是click ,則可以使用jQuery中的click()方法綁定它。 使用this來訪問您的元素,如下面的代碼:

$('#id').click(function(event){
  console.log($(this));
});

我發現最優雅的解決方案是簡單地使用事件目標上的屬性。 以下是如何檢測事件源html標記的示例。 此示例假定您已使用CSS類名myUnorderedList綁定了無序列表的列表項單擊事件,但如果在列表項中單擊錨標記, 則要禁用默認操作

$('ul.myUnorderedList').on('click', 'li', function(event){ 

    console.log('tagName: '+ event.target.tagName);    //output: "a"
    console.log('localName: '+ event.target.localName);//output: "a"
    console.log('nodeName: '+ event.target.nodeName);  //output: "A"

    if(event.target.tagName == 'a')
        return; // don't do anything...

    // your code if hyperlink is not clicked
});

暫無
暫無

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

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