将jquery代码应用于多个类

时间:2014-03-24 10:14:01

标签: javascript jquery class

我将这一小段代码仅应用于一个类

function replaceSF(foo,bar)
{
j$('.labelCol').children().each(function(){ 
    console.log('i am on children each for labelCol');
    console.log('foo: '+foo);
    console.log('bar: '+bar);
    console.log('jsthis.text: '+j$(this).text());
    if(j$(this).text() == foo)
    {      
        j$(this).html(''+bar);    
    }
    else if(j$(this).text().trim().replace('\*','').replace('\n','') == foo)
    {
        j$(this).html(j$(this).html().replace(foo,''+bar));
    }
    });  
    j$('.labelCol').each(function(){   
    if(j$(this).text() == foo )
    {      
        j$(this).html(''+bar);   
    }
    }); 
}

但我需要将此代码用于10个类。这样做的最佳方法是什么? 我试图将此函数重写为replaceSF(className,foo,bar),但我没有得到任何结果。

感谢。

3 个答案:

答案 0 :(得分:3)

您可以将选择器修改为:

j$('.labelCol, .labelCol2, .labelCol3, .labelCol4, .labelColn').children().each(function(){ 

...

答案 1 :(得分:2)

添加更多类,如下所示

j$('.labelCol,.anotherclassname,.anotherclassname1').children().each(function(){

答案 2 :(得分:0)

要按照您的意愿编写功能,您可以采用以下方法:

function replaceSF(arrayOfClassNames,foo,bar){
    j$('.' + arrayOfClassNames.join(', .')).children() /* and so on… */

    /* which would form the CSS-style selector:
    j$('.labelCol, .secondClassName, .anotherClassName').children()
    */
}

将该功能称为:

replaceSF(['labelCol','secondClassName', 'anotherClassName'], 'foo', 'bar');