2011-10-04 59 views
0

我正在編寫一個個人插件,並且它需要在它懸停在特定元素上時執行操作。我運行console.log($(this));console.log($this);(我有var $this = $(this)之前,我宣佈我的默認選項。在mouseenter上訪問jQuery插件中的DOM元素

不管怎麼說,記錄的東西到控制檯的時候,我剛剛得到一個對象與節點信息,即<li id="some_id_here"></li>,但沒有的內文本<li>(有文字的這裏面,還有一個<span>...</span>

任何人可以幫助我在這裏?不知道我需要做搶<li>的實際文本...

謝謝!

備註:確實是我分配$this = $(this)的情況。一旦我調整了命名法,它就全部落實到位。謝謝你的幫助!

+0

'.innerText'和'.innerHTML'? –

+0

那些通常顯示在對象中,我會註銷。這只是一個空白的對象,用li標籤包裹... – Connor

+0

我想它與我的$ this = $(this)聲明有關...... – Connor

回答

1

如果你有$此= $(本);那麼你可以簡單地做:

$this.html(); // Retrieve HTML inside "<li>" referenced by $this 
$this.text(); // Retrieve plain text inside "<li>" referenced by $this 

所以,你可以嘗試:

console.log($this.html()); 

對於進一步閱讀,看看jQuery的的.html()的.text()方法文檔here

乾杯!

1

如何

console.log($(this).html()) 
1

一個jQuery插件內的第一件事this是一個jQuery對象,沒有必要做$(this),如果你希望你的元素的HTML看看signs of a poorly writter jQuery plugin

this.html();

如果您想要的文字,做this.text();

如果你只是做console.log(this),你通常會看到左邊的一個小箭頭,讓你展開元素。

+0

我認爲側面的小箭頭可能是關鍵。 –

+0

有人可以解釋爲什麼我downvoted? – topek

+0

這是[不正確](http://api.jquery.com/bind/)。在jQuery事件處理函數中,'this'是對觸發DOM元素的引用。爲了得到一個jQuery對象,你必須做一個'$(this)'。 – josh3736

0
console.log(this); 

如果你登錄純DOM元素(而不是jQuery的包裝對象),控制檯應該讓你檢查元素的兒童。