2016-01-20 113 views
0

"AddMoreRowsWithNo('SnapIII_btnEquipmentAddMore', 'SnapIII_TBLAdditionalEquipment', 'SnapIII_trAdditionalEquipment', 'SnapIII_tdEquipmentNo')"添加字符串的JavaScript

我需要关闭该字符串中括号前增加价值。 例如,

AddMoreRowsWithNo('SnapIII_btnEquipmentAddMore', 'SnapIII_TBLAdditionalEquipment', 'SnapIII_trAdditionalEquipment', 'SnapIII_tdEquipmentNo', valCount);

+0

你谷歌吗?这是非常普遍的问题及其解决方案。 –

+0

实际上上面的字符串存储在变量里面。例如,var addbtnattr = $(“#SnapIII_btnEquipmentAddMore”)[0]; var nodeval = addbtnattr.attributes [2] .nodeValue;上面的字符串存储在变量nodeVal中。因此很难在存储在nodeVal变量中的字符串中添加一个更多的值。 –

回答

1

这里是正则表达式和替换功能的功能,在第一次将传递FUNC作为变量的名称,在第二时间 - 你的FUNC PARAMS使用

function addParams(funcStr, paramsArrayToAdd){ 
    var isFirstCall = false; 
    return funcStr.replace(/[^\)\(]+/g,function(str){ 
     if(!isFirstCall){ 
     isFirstCall = true; 
     return str; 
     }else{ 
     return str.length > 0 ? str + "," + paramsArrayToAdd.join(",") : paramsArrayToAdd.join(","); 
     } 
    }); 
} 

实施例

var str = addParams("AddMoreRowsWithNo('SnapIII_btnEquipmentAddMore', 'SnapIII_TBLAdditionalEquipment', 'SnapIII_trAdditionalEquipment', 'SnapIII_tdEquipmentNo')",["'param1'","'param2'"]) 
    console.log(str);//AddMoreRowsWithNo('SnapIII_btnEquipmentAddMore', 'SnapIII_TBLAdditionalEquipment', 'SnapIII_trAdditionalEquipment', 'SnapIII_tdEquipmentNo','param1','param2') 
+0

谢谢!它的工作正常。 –