我正在编写一个个人插件,当它悬停在特定元素上时需要执行操作。我在宣布默认选项之前正在运行console.log($(this));
和console.log($this);
(我有var $this = $(this)
。
无论如何,当把这些东西记录到控制台时,我只得到一个包含Node信息的对象,即<li id="some_id_here"></li>
,但是<li>
中没有任何文本(里面有文字) ,以及<span>...</span>
。
有人可以帮我吗?不知道我需要做些什么来获取<li>
...
谢谢!
注意:确实是我分配$this = $(this)
的情况。一旦我调整了命名法,它就全部落到了位置。谢谢你的帮助!
答案 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包装器对象),你的控制台应该允许你检查元素的子元素。