<map>
中的第二个'senzajs'没有被替换,但我希望它......
的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>
为什么会这样?
答案 0 :(得分:4)
使用.replace(/senzajs/g, 'js')
。带有g
标志的正则表达式将匹配所有出现而不是仅匹配第一个出现。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace
答案 1 :(得分:1)
你需要在这里使用正则表达式,否则只替换找到的第一个字符串。 / senzajs / g将匹配所有找到的,具有完全相同的情况。添加i忽略套管/ senzajs / gi,所以即使SENZJAS也会被替换。
<script type="text/javascript">
$("document").ready(function(){
$('body').html($('body').html().replace(/senzajs/g, 'js'));
});
</script>
答案 2 :(得分:1)
你使用它的替换函数只替换它找到的第一个实例。使用正则表达式替换所有实例:
var myNewString = myOldString.replace(/username/g, visitorName);
(我从http://www.tizag.com/javascriptT/javascript-string-replace.php解除了这个。)
答案 3 :(得分:0)
<script type="text/javascript">
$("document").ready(function(){
$('body').html($('body').html().replace('/senzajs/gm', 'js'));
});
</script>