0

中的第二个“senzajs”<map>没有被替换,但我希望它......

Javascript

 <script  type="text/javascript">
  $("document").ready(function(){
     $('body').html($('body').html().replace('senzajs', 'js'));
   });
  </script>

HTML

  <div class="objectdiv">
   <a href="freegames/Classic/svgsenzajs/start.php/">
    <object class="svg" type="image/svg+xml"  data="svg/question0optimize1.svg" >
         <img src="png/question0optimize1.png" type="image/png" usemap="#mapping"/>    
     </object>   
   </a>
   <map name="mapping">
        <area shape="rect" coords="0,0,1000,1000" 
         href="freegames/Classic/pngsenzajs/start.php/" />
    </map>
 </div>

为什么会这样?

4

4 回答 4

4

使用.replace(/senzajs/g, 'js'). 带有g标志的正则表达式将匹配所有匹配项,而不仅仅是第一个匹配项。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace

于 2012-04-13T22:02:49.860 回答
1

您需要在此处使用正则表达式,否则仅替换找到的第一个字符串。/senzajs/g 将匹配所有找到的,大小写完全相同。添加 i 以忽略大小写 /senzajs/gi ,因此即使 SENZJAS 也会被替换。

<script  type="text/javascript">
  $("document").ready(function(){
     $('body').html($('body').html().replace(/senzajs/g, 'js'));
   });
  </script>
于 2012-04-13T22:04:47.007 回答
1

您使用的替换功能仅替换它找到的第一个实例。使用正则表达式替换所有实例:

var myNewString = myOldString.replace(/username/g, visitorName);

(我从http://www.tizag.com/javascriptT/javascript-string-replace.php提出了这个。)

于 2012-04-13T22:05:21.123 回答
0
 <script  type="text/javascript">
  $("document").ready(function(){
     $('body').html($('body').html().replace('/senzajs/gm', 'js'));
   });
  </script>
于 2012-04-13T22:06:55.520 回答