有人可以使用syntax
jQuery
关键字this
帮助我吗?
这是我的代码:
var obj = jQuery.parseJSON(data);
$('.example_infobox1').addClass(obj.gridlayout);
$('.example_infobox1 .info-box').addClass(obj.boxcolor);
$('.example_infobox1 .info-box-icon').addClass(obj.iconcolor);
$('.example_infobox1 i').addClass(obj.icon);
$('.example_infobox1 .info-box-text').html(obj.text);
$('.example_infobox1 .info-box-number').html(obj.number);
以下是我正在处理的代码:
var obj = jQuery.parseJSON(data);
$('.example_infobox1')
{
$(this).addClass(obj.gridlayout);
$('.info-box', this).addClass(obj.boxcolor);
$('.info-box-icon', this).addClass(obj.iconcolor);
$('i', this).addClass(obj.icon);
$('.info-box-text', this).html(obj.text);
$('.info-box-number', this).html(obj.number);
}
我在控制台中没有收到任何错误,但是html内容格式不正确。
由于
答案 0 :(得分:1)
我认为在这种情况下变量会更好。
var box = $('.example_infobox1');
box.addClass(obj.gridlayout);
$('.info-box', box).addClass(obj.boxcolor);
$('.info-box-icon', box).addClass(obj.iconcolor);
$('i', box).addClass(obj.icon);
$('.info-box-text', box).html(obj.text);
$('.info-box-number', box).html(obj.number);
答案 1 :(得分:0)
实际上,这是jQuery选择器的错误用法。
jQuery将当前文档对象分配给此"选择器"中的this
。
http://jsfiddle.net/8rLdwr5w/1/
看一下这个样本。这里jQuery对象包含整个文档,我可以使用div
方法访问外部find
。
如果您想要调用jQuery选择一次然后重复使用,请遵循Stuart Wagner的方法。
答案 2 :(得分:0)
这指向jquery中的当前对象,只有在语法错误时才会出错。 你应该试试这个。
$(本).find(' .INFO盒&#39)。addClass(obj.boxcolor); 要么 $(' .example_infobox1> div [class =" .info-box"]')。addClass(obj.boxcolor);
或
$(" .example_infobox1")。children(" .info-box")。addClass(" obj.boxcolor");