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

时间:2012-06-23 02:21:46

标签: jquery function selector arguments

对于主题行感到抱歉,但我不确定如何准确地说出来。我想通过以下方式将其自动化为函数$('#progress-row-1 .indicator).css('width', 100);

setWidth($('#progress-row-1'), 100);

所以我只将元素的ID传递给函数。该元素只有一个子类,名为“.indicator”。所以......

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

function setWidth(obj, size) {
    $('obj .indicator').css('width', size);
}

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

3 个答案:

答案 0 :(得分:3)

将其转换为插件方法:

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

用途:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

使用.find()

obj.find(".indicator").css('width', size);