向函数参数中的jQuery对象添加选择器

向函数参数中的jQuery对象添加选择器,jquery,function,selector,arguments,Jquery,Function,Selector,Arguments,对不起,这句话的主题是什么,但我不知道该怎么说。我想将其自动化为一个函数$('#progress-row-1.indicator).css('width',100)以下方式: setWidth($('#progress-row-1'), 100); 因此,我只将元素的ID传递给函数。元素只有一个子元素,其类名为“.indicator”。所以 在函数中,我想设置具有名为“indicator”的类的元素的CSS宽度: 我知道$('obj.indicator')语法错误,但我不知道正确的语法是什么。

对不起,这句话的主题是什么,但我不知道该怎么说。我想将其自动化为一个函数
$('#progress-row-1.indicator).css('width',100)以下方式:

setWidth($('#progress-row-1'), 100);
因此,我只将元素的ID传递给函数。元素只有一个子元素,其类名为“.indicator”。所以

在函数中,我想设置具有名为“indicator”的类的元素的CSS宽度:

我知道
$('obj.indicator')
语法错误,但我不知道正确的语法是什么。如何以这种方式访问名为“.indicator”的类的传递对象的子对象?有人能帮我吗?谢谢大家!

使用
.find()

使用
.find()

最简洁的语法(我相信也是最快的)解决方案是:

$('.indicator', obj).css('width', size);
最简洁的语法(我相信也是最快的)解决方案是:

$('.indicator', obj).css('width', size);

将其转换为插件方法:

$.fn.setIndicatorWidth=function(width){
    return this.each(function(){
        $(this).find('.indicator').width(width);
    });
}
用途:

$('#progress-row-1').setIndicatorWidth(100);

将其转换为插件方法:

$.fn.setIndicatorWidth=function(width){
    return this.each(function(){
        $(this).find('.indicator').width(width);
    });
}
用途:

$('#progress-row-1').setIndicatorWidth(100);

bruv++1是,请
.width
<代码>:)
我喜欢它,但是,为了论证起见,对于插件来说,这个功能的范围不是有点窄吗?真的很好奇人们对这个问题的看法。@BLSully为什么太狭隘了,它让jQuery语法中的代码保持可读性,而且chainable@charlietfl:诚然,我不知道OP想要实现什么,但这似乎应该作为一个小部件在更高的级别进行打包(理论是最终结果,这里是基于id/类名的进度条),或太少用于硬编码函数中的类名等内容。@BLSully真的不确定您的建议是什么。OP想要一个与调用分离的函数,所以很可能计划重用它,所以插件与常规函数一样有意义bruv++1是的,请
。宽度
:)
但是,我喜欢它,为了便于讨论,对于插件来说,这个功能的范围不是有点窄吗?真的很好奇人们对这个问题的看法。@BLSully为什么太狭隘了,它让jQuery语法中的代码保持可读性,而且chainable@charlietfl:诚然,我不知道OP想要实现什么,但这似乎应该作为一个小部件在更高的级别进行打包(理论是最终的结果,这里是一个基于id/类名的进度条),或者很少用于硬编码,比如函数中的类名。@BLSully真的不确定你的建议。OP想要一个与调用分离的函数,所以可能计划重用它,所以插件和常规函数一样有意义