0

件名で申し訳ありませんが、正確にどのように表現すればよいかわかりませんでした。$('#progress-row-1 .indicator).css('width', 100);これを次の方法で関数に自動化したいと思います。

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

そのため、要素の ID のみを関数に渡します。この要素には、「.indicator」というクラスを持つ子が 1 つだけあります。そう...

この関数では、「indicator」という名前のクラスを持つ要素の CSS 幅を設定したいと思います。

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

構文が間違っていることはわかってい$('obj .indicator')ますが、何が正しいのかわかりません。「.indicator」という名前のクラスを持つ渡されたオブジェクトの子にどのようにアクセスしますか? 誰でも私を助けることができますか?ありがとうございました!

4

3 に答える 3

3

それをプラグインメソッドに変える:

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

用途:

$('#progress-row-1').setIndicatorWidth(100);
于 2012-06-23T02:28:30.180 に答える
2

そのための最も簡潔な構文(そして私が最速だと思う)の解決策は次のとおりです。

$('.indicator', obj).css('width', size);
于 2012-06-23T02:27:43.613 に答える
1

使用する.find()

obj.find(".indicator").css('width', size);
于 2012-06-23T02:22:57.510 に答える