在mouseenter上访问jQuery插件中的DOM元素

时间:2011-10-04 19:08:06

标签: javascript jquery jquery-plugins

我正在编写一个个人插件,当它悬停在特定元素上时需要执行操作。我在宣布默认选项之前正在运行console.log($(this));console.log($this);(我有var $this = $(this)

无论如何,当把这些东西记录到控制台时,我只得到一个包含Node信息的对象,即<li id="some_id_here"></li>,但是<li>中没有任何文本(里面有文字) ,以及<span>...</span>

有人可以帮我吗?不知道我需要做些什么来获取<li> ...

的实际文本

谢谢!

注意:确实是我分配$this = $(this)的情况。一旦我调整了命名法,它就全部落到了位置。谢谢你的帮助!

4 个答案:

答案 0 :(得分:1)

怎么样

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

答案 1 :(得分:1)

如果您有 $ this = $(this); ,那么您可以这样做:

$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

干杯!

答案 2 :(得分:1)

jQuery插件中的第一件事this是jQuery对象,不需要$(this),看看signs of a poorly writter jQuery plugin

如果您希望元素的html执行this.html();

如果您需要文字,请执行this.text();

如果您只是console.log(this),通常会在左侧看到一个小箭头,可以展开元素。

答案 3 :(得分:0)

console.log(this);

如果你记录普通的DOM元素(而不是jQuery包装器对象),你的控制台应该允许你检查元素的子元素。