jQuery将css应用于倒数第二个元素?

时间:2011-06-06 12:09:14

标签: jquery

我需要将CSS应用于倒数第二个元素。我在下面的帖子中找到了答案: Get penultimate element

但是如何更改语法以应用CSS?以下不起作用:

$("a:last").prev().css('width','250px');

谢谢

我尝试过应用@tweak方法,但它不起作用。

setInterval(function(){
$(".image-cont:last .image-cont2").prev().css({ width,'250px' })
},1000); 

6 个答案:

答案 0 :(得分:3)

试试这个:

$("a:last").prev().css({ width: '250px' });

答案 1 :(得分:1)

试试这个:

$("a:last").prev().add('a:last').css('width','250px');

选择第二个和最后一个元素并添加css。

答案 2 :(得分:0)

抓住除了最后一个之外的所有内容,然后获取最后一个结果:

$("p:not(:last)").filter(":last").addClass("hilight");

演示:http://jsbin.com/ujuku4/edit

当然,以下内容也适用:

$("p:last").prev().addClass("hilight");

演示:http://jsbin.com/ujuku4/2/edit

如果您对这些方法中的任何一个有任何问题,很可能会反映您的HTML和jQuery无法正确处理它的问题。

答案 3 :(得分:0)

此示例仅在a标签处于此类

的兄弟结构中时才有效
<a href="#">a</a>
<a href="#">a</a>
<a href="#">a</a>
<a href="#">a</a>

$("a:last").prev().css('width','250px');

如果a标签位于其他标签内,则

<ul>
    <li><a href="#">a</a></li>
    <li><a href="#">b</a></li>
    <li><a href="#">c</a></li>
    <li><a href="#">d</a></li>
</ul>

$("a").not(":last").filter(":last").css('width','250px');

然后问题可能是您无法在内联元素上设置CSS宽度,因此将显示更改为“inline-block”或“block”

$("a").not(":last").filter(":last").css({
    'width' : '250px',
    'display' : 'inline-block'
});

$("a:last").prev().css({
    'width' : '250px',
    'display' : 'inline-block'
});

答案 4 :(得分:0)

根据您的发布修订版,我建议:

setInterval(function(){
$(".image-cont:last").prev().find(".image-cont2").css('width', '250px');
},1000); 

但是,如果没有发布您的HTML并精确定位您需要的元素,我仍然不确定这是否是您想要的答案。

作为解释:prev从您选择的元素返回',并且您的选择器选择带有类image-cont的'last'元素的后代 - 因此它将选择之前的兄弟那个后代。我的建议是从类image-cont的倒数第二个元素中选择后代。

答案 5 :(得分:0)

嗯,我遇到了同样的问题,但有些不同。我想改变我的投入焦点。

所以我尝试了一些东西,我的建议是:

$("#yourelement").eq(-2).css('.myclass');

$("#urelement").eq(-2).attr({ width: 250});

没有必要添加'px';)

希望它适合你!