呵呵,这个问题很有趣
先指出代码中的一些错误
js-3中
var str=document.getElementById("test").innerHTML.toString(); //缺少了红色部分document.getElementById("test").innerHTML 是对象,但加了.toString()就是字符串了当你把str给alert出来就明白咋回事了,那个<b>是不是变成别的了?呵呵,asp.net都是这样处理的,明显不符w3c,但没办法
先指出代码中的一些错误
js-3中
var str=document.getElementById("test").innerHTML.toString(); //缺少了红色部分document.getElementById("test").innerHTML 是对象,但加了.toString()就是字符串了当你把str给alert出来就明白咋回事了,那个<b>是不是变成别的了?呵呵,asp.net都是这样处理的,明显不符w3c,但没办法
应该是str.indexOf(" <b>",0);
Firefox工作正常,所以怀疑是IE的本身的问题。
<div id="test">这是一<b>个截断 </b>字符串程序的测试 </div> var str=document.getElementById("test").innerHTML;
var num1=str.indexOf("<b>",0);//Firefox显示num1的值为3;
alert(num1);
的"<b>"加上一个空格,Firefox显示num1的值为-1
为方便起见我这里用@代表空格。
其他情况如下代码值所示:
<div id="test">这是一@<b>个截断 </b>字符串程序的测试 </div>var str=document.getElementById("test").innerHTML;
var num1=str.indexOf("<b>",0);//Firefox显示num1的值为4;
alert(num1);<div id="test">这是一@<b>个截断 </b>字符串程序的测试 </div>var str=document.getElementById("test").innerHTML;
var num1=str.indexOf("@<b>",0);//Firefox显示num1的值为3;
alert(num1);<div id="test">这是一@<b>个截断 </b>字符串程序的测试 </div>var str=document.getElementById("test").innerHTML;
var num1=str.indexOf("@@<b>",0);//Firefox显示num1的值为-1;
alert(num1);楼主好好琢磨一下,就会明白的,祝福楼主!
的确此代码在Firfox上工作正常,我用的是IE8,怎样才能让IE系列的浏览器也工作正常呢?
感谢LS各位的回答,特别是lm4242的测试建议
散分~