我能用Jquery查找一个元素并将其CSS宽度设置为当前宽度-x吗?

3

假设我需要将多个元素的宽度增加19像素。

是否可以通过查找这些元素并设置它们的CSS宽度,如下所示:

 $el.find( '.ui-content' )
    .css({'width': "parseFloat(found_element_current_width) -19" })

如果不行,最好的方法是什么?
4个回答

5
是的。
$el.find( '.ui-content' )
    .width(function(i, width) { return width - 19;  })

115k的工资必须意味着除了拥有丰富的知识外,还要能够快速打字... :-) - frequent
@frequent 越快的打字越好 :) - alex

2
您可以使用CSS函数:css
$el.find( '.ui-content' )
    .css('width', function(i, w){
         return (parseFloat(w) - 19) + 'px'
    })

1
@ShivaKomuravelly i 是所选元素的索引(index),jQuery 在内部迭代所选元素。 - Ram

2
.css()函数文档中可以了解到:
自jQuery 1.6起,.css()函数接受类似于.animate()的相对值。相对值是以+=-=开头的字符串,用于增加或减少当前值。例如,如果一个元素的padding-left为10px,那么.css( "padding-left", "+=15" )将导致总padding-left为25px。
因此,你可以这样做:
$el.find( '.ui-content' )
.css('width', '-=19');

嘿,我也不知道。也非常好。那可能是最好的方式。 - frequent
好的。我选择这个,因为我认为它最符合我的需求。谢谢大家! - frequent

0

是的,你可以。

$el.find( '.ui-content' )
    .css('width', parseInt(yourwidth) - 19)

yourwidth是一个匿名变量,可以传递一些值。 - ankur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接