这个代码在jquery中有什么问题

时间:2011-11-04 16:51:52

标签: javascript jquery jquery-ui jquery-plugins

我试图从存储在变量中的值中获取纯文本,如

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

当警告弹出时,它将结果作为对象[Object],但我在应用函数后期待实际的字符串。

任何人都可以帮助我吗?感谢。

4 个答案:

答案 0 :(得分:5)

$(this).html(lb)

此行设置 this的html与lb中存储的内容相同。然后它返回jquery对象以进行链接。

如果您想要html this,那么您只需拨打$(this).html(),无需参数。

答案 1 :(得分:0)

你在第二行的代码设置的东西没有得到什么......

您是否可以在警告框中包含您想要的HTML和实​​际数据,这可能有助于确定答案

答案 2 :(得分:0)

查看html方法的文档:

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

从文档中可以看出,您的代码正在为this设置html,然后返回一个jQuery对象。你想要准确显示什么?

答案 3 :(得分:0)

如果您只想获取自定义属性“htmllabel”的值,则可以执行以下操作:

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

作为旁注;我建议根据HTML5规范使用data-*命名自定义属性,如下所示:

<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);

我希望这有帮助!