0

我正在编写一个用于在某些条件下替换 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_hazard_frame_2_4_4_7
  3. 条件 C - div 类与上面相同,我想将 4 替换为 6,结果应该是这样的 - e_new_hazard_frame_2_1_6_7
  4. 条件 D - div 类与上面相同,我想将 7 替换为 3,结果应该是这样的 - e_new_hazard_frame_2_1_4_3

这 4 个数字可能相同,例如 1_1_1_1,我的演示编码类似于 var str = 'e_new_hazard_frame_2_1'; str = str.replace(/_[_0-9]*)$/,'1');

似乎不正确,谁能教我怎么做?太感谢了!

4

5 回答 5

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>

如果您遇到任何问题,请告诉我。

于 2013-06-20T07:53:47.920 回答
0

PHP中

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

如需更多参考,请访问。希望这会帮助你。

JavaScript 中

 str.replace("e_new_hazard_frame_2_1_2_4","e_new_hazard_frame_1_1_2_4");

如需更多参考,请访问

于 2013-06-20T06:13:01.920 回答
0

这将替换 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'))
于 2013-06-20T06:13:02.017 回答
0

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

替换 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);
于 2013-06-20T06:13:05.593 回答
0

我认为它可能对你有用 `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');
}`
于 2013-06-20T06:29:12.640 回答