Доступ к элементу DOM в плагине jQuery на Mouseenter - PullRequest
0 голосов
/ 04 октября 2011

Я пишу персональный плагин, и он должен выполнять действие, когда он наводится на определенный элемент.Я использую console.log($(this)); и console.log($this); (у меня есть var $this = $(this), прежде чем я объявляю свои параметры по умолчанию.

В любом случае, когда регистрирую все это на консоли, я просто получаю объект с информацией об узлето есть <li id="some_id_here"></li>, но нет текста внутри этого <li> (внутри него есть текст, а также <span>...</span>.

Кто-нибудь может мне здесь помочь? Не уверен, что мне нужносделать, чтобы получить фактический текст <li> ...

Спасибо!

Примечание: Это был действительно тот случай, когда я назначил $this = $(this).Я изменил номенклатуру, все стало на свои места. Спасибо за вашу помощь!

Ответы [ 4 ]

1 голос
/ 04 октября 2011

Если у вас есть $ 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 () документация по методам здесь .

Ура!

1 голос
/ 04 октября 2011

Первым делом this внутри плагина jQuery является объект jQuery, нет необходимости делать $(this), посмотрите на признаки плохо написанного плагина jQuery

Если вы хотите, чтобы html вашего элемента делал this.html();

Если вы хотите текст, выполните this.text();

Если вы просто делаете console.log(this), вы обычно видите небольшую стрелку налевая сторона, которая позволяет расширять элемент.

1 голос
/ 04 октября 2011

Как насчет

console.log($(this).html())
0 голосов
/ 04 октября 2011
console.log(this);

Если вы регистрируете простой элемент DOM (вместо объекта-оболочки jQuery), ваша консоль должна позволять вам проверять дочерние элементы элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...