2016-01-20 73 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

謝謝!它的工作正常。 –