Javascript代码在Firefox中有效,但在IE或Safari中无法使用

时间:2015-10-05 14:20:21

标签: javascript

以下代码适用于Firefox,但不适用于IE 10,也不适用于Safari:

function showids(id) { //new
   divs = document.getElementsByTagName('div');
   for ( var i = 0; i < divs.length; i++ ) {
    if(divs[i].id.startsWith('id1')) {
        alert(divs[i].id);
        if(divs[i].id.startsWith('id1'+id))
            divs[i].className='one';
        else {
            divs[i].className='two';
            alert('-'+divs[i].id);
        }
      }
     }
 }

有人知道原因吗?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以替换

if(divs[i].id.startsWith('id1')) {

对于后续行,使用 startsWith

的替代方法
if(divs[i].id.indexOf('id1')==0) {

答案 2 :(得分:0)

我在developer.mozzilla.org上添加了此代码:

if (!String.prototype.startsWith) {
  String.prototype.startsWith = function(searchString, position) {
    position = position || 0;
    return this.indexOf(searchString, position) === position;
  };
}

现在我的代码正在运作。 感谢所有