Javascript prev-我可以在上一个之前获取实例吗?
我有一个jQuery“each”函数,它在gridview中循环。每次遇到合适的情况时,它都会创建一个新的头并向其中添加一个css类:Javascript prev-我可以在上一个之前获取实例吗?,javascript,jquery,dom,gridview,Javascript,Jquery,Dom,Gridview,我有一个jQuery“each”函数,它在gridview中循环。每次遇到合适的情况时,它都会创建一个新的头并向其中添加一个css类: $(this).before('<tr><td></td><td></td><td></td><td></td><td></td></tr>'); $(this).prev().addClass('cd_header')
$(this).before('<tr><td></td><td></td><td></td><td></td><td></td></tr>');
$(this).prev().addClass('cd_header');
$(this).before(“”);
$(this.prev().addClass('cd_头');
我的问题是,我需要根据我创建的上一个头的元素中的值设置这个头的一些属性。因此单个.prev()不起作用;它只是读取我刚刚创建的头的属性
有没有办法告诉prev我想要回那两个实例?或者我可以以某种方式堆叠.prev().prev()
或者我可以以某种方式堆叠.prev().prev()
你当然可以;你可能应该试一下。返回当前集合中每个元素的前一个同级元素的集合;没有理由你不能要求prev
再做一次,然后再返回一次
另一个选项是.prevAll('some-selector')。first()
(后跟),其中some-selector
是一个选择器,它将标识您要查找的前一个同级。它查找与选择器匹配的所有以前的同级,然后将第一个同级(由prevAll
保证)取为最接近开始位置的同级。这样就不会那么脆弱了(例如,如果您在某个时候将东西更改为插入两个tr
s,而不是一个,它将继续工作)
或者我可以以某种方式堆叠.prev().prev()
你当然可以;你可能应该试一下。返回当前集合中每个元素的前一个同级元素的集合;没有理由你不能要求prev
再做一次,然后再返回一次
另一个选项是
.prevAll('some-selector')。first()
(后跟),其中some-selector
是一个选择器,它将标识您要查找的前一个同级。它查找与选择器匹配的所有以前的同级,然后将第一个同级(由prevAll
保证)取为最接近开始位置的同级。这样就不那么脆弱了(例如,如果你在某个点上更改了东西,插入两个而不是一个,它会继续工作)。我认为你需要做的是将注入的html分配给一个对象,并获得prev。因此,您将获得两个prev
var $row = $('<tr><td></td><td></td><td></td><td></td><td></td></tr>')
$(this).before($row);
$row.prev().addClass('cd_header');
var$row=$(“”)
$(此)。在($行)之前;
$row.prev().addClass('cd_头');
或更短
$('<tr><td></td><td></td><td></td><td></td><td></td></tr>').insertBefore($(this)).prev().addClass('cd_header');
$('').insertBefore($(this)).prev().addClass('cd_头');
我认为您需要做的是将注入的html分配给一个对象,并获得prev。因此,您将获得两个prev
var $row = $('<tr><td></td><td></td><td></td><td></td><td></td></tr>')
$(this).before($row);
$row.prev().addClass('cd_header');
var$row=$(“”)
$(此)。在($行)之前;
$row.prev().addClass('cd_头');
或更短
$('<tr><td></td><td></td><td></td><td></td><td></td></tr>').insertBefore($(this)).prev().addClass('cd_header');
$('').insertBefore($(this)).prev().addClass('cd_头');
嗯,我确实试过了,但总是出错。我会继续研究我的语法。谢谢。嗯,我确实试过了,但我总是出错。我会继续研究我的语法。非常感谢。