Jquery替换固定位置的数字


Jquery replace number in fixed location

我正在编写一个函数,用于在某些情况下替换div类,例如

  1. 条件A -div类是e_new_hazard_frame_2_1_4_7,我想将2替换为1,结果应该是这样的- e_new_hazard_frame_1_1_4_7
  2. 条件B -div类与上面相同,我想将1替换为4,结果应该是这样的- e_new_haz_frame_2_4_4_7
  3. 条件C -div类与上面相同,我想将4替换为6,结果应该是这样的- e_new_haz_frame_2_1_6_7
  4. 条件D -div类与上面相同,我想将7替换为3,结果应该是这样的- e_new_haz_frame_2_1_4_3

这4个数字可能是一样的,比如1_1_1_1,我的演示代码是这样的Var STR = ' e_new_haz_frame__1 ';STR = STR .replace(/_[_0-9]*)$/,'1');

这似乎不正确,有人能教我怎么做吗?非常感谢!

试试这个。它可能对你有帮助。

<div class="e_new_hazard_frame_2_1_4_7">click to change value</div>
<script type="text/javascript">
    $(".e_new_hazard_frame_2_1_4_7").on('click',function(){
    change_class(7); //change the value from here i.e 2,4,1,7
});
function change_class(p)
{
    var number_change=p;
    switch (number_change)
    {
        case 2:
        var str='e_new_hazard_frame_2_1_4_7';  
        str = str.replace(/[2]/g,'1');
        break;
        case 1:
        var str='e_new_hazard_frame_2_1_4_7';  
        str = str.replace(/[1]/g,'4');
        break;
        case 4:
        var str='e_new_hazard_frame_2_1_4_7';  
        str = str.replace(/[4]/g,'6');
        break;
        case 7:
        var str='e_new_hazard_frame_2_1_4_7';  
        str = str.replace(/[7]/g,'3');
        break;    
    }
$(".e_new_hazard_frame_2_1_4_7").html(str);
}
</script>
如果您有任何问题请告诉我。

也许使用一个函数来处理你想要的数字?

replace Javascript | MDN

function replacer(match, p1, p2, p3, p4, offset, string){
  // p1-4 are your numbers 
  // (they are strings right now, sto make +p1 to convert them to int)
  p1= +p1 + 1;
  p2= +p2 + 1;
  p3= +p3 + 1;
  p4= +p4 + 1;
  // fixed a small bug here
  return ['', p1, p2, p3, p4].join('_');
};
var str = "asdasdasd_1_2_3_4";
str = str.replace(/_('d)_('d)_('d)_('d)/, replacer);

这将替换str:

中所有出现2到1的字符。
var str = 'e_new_hazard_frame_2_1_2_4'; 
str = str.replace(/2/g,'1'); 

替换div的类:

var target_class = 'e_new_hazard_frame_2_1_4_7';
$('.'+target_class).removeClass(target_class).addClass(target_class.replace(/2/g,'1'))

In PHP

    echo str_replace("2","1","e_new_hazard_frame_2_1_4_7");

有关更多参考,请访问此。希望这对你有帮助。

JavaScript在<<p> strong>
 str.replace("e_new_hazard_frame_2_1_2_4","e_new_hazard_frame_1_1_2_4");

有关更多参考,请访问

我想它可能对你有用"str ="e_new_hazard_frame_2_1";

if(conditin1) 
{
 pattern = /[2]/g;
 str = str.replace(pattern,'1');
}
if(conditin2)
{
pattern = /[1]/g;
str = str.replace(pattern,'4');
}
if(conditin3)
{ 
 pattern = /[4]/g;
 str = str.replace(pattern,'6');
}
if(conditin4)
{
 pattern = /[7]/g;
 str = str.replace(pattern,'3');
}`