Что не так с этим кодом в jquery - PullRequest
0 голосов
/ 04 ноября 2011

Я пытаюсь получить простой текст из значения, хранящегося в переменной, как это

var lb = $(this).attr("htmllabel");
var text = $(this).html(lb);
alert(text);

Когда всплывающее окно оповещения дает результат в виде объекта [Объект], но я ожидал фактическую строку после применения функции.

Может ли кто-нибудь помочь мне в этом? Спасибо.

Ответы [ 4 ]

5 голосов
/ 04 ноября 2011

$(this).html(lb)

Эта строка устанавливает HTML-код того, что this соответствует тому, что хранится в lb Затем он возвращает объект jquery для создания цепочек.

Если вы хотите html из this, тогда просто позвоните $(this).html() без параметров.

0 голосов
/ 04 ноября 2011

Если вы просто хотите получить значение вашего пользовательского атрибута "htmllabel", вы можете сделать следующее:

var val = $(this).attr("htmllabel");
alter(val);

В качестве примечания; Я бы предложил именовать пользовательские атрибуты data-* в соответствии со спецификацией HTML5 следующим образом:

<div data-htmllable></div>

Затем вы можете получить доступ к значению атрибута двумя способами (jQuery 1.4.3 +):

var val1 = $(this).attr('data-htmllabel');
var val2 = $(this).data('htmllabel');

// Outputs same value //
alert(val1);
alert(val2);

Надеюсь, это поможет!

0 голосов
/ 04 ноября 2011

Посмотрите документацию по методу html:

http://api.jquery.com/html/#html2

Как видно из документации, ваш код устанавливает html для this, а затем возвращаетОбъект jQuery.Что именно вы хотите отобразить в точности?

0 голосов
/ 04 ноября 2011

Ваш код во второй строке настраивает что-то, не получая что-то ...

Можете ли вы включить свой HTML и фактические данные, которые вы хотите, в окно предупреждения, и это может помочь сформировать ответ

...