Что случилось с этим кодом?
var divarray = document.getElementById("yui-main").getElementsByTagName("div");
var articleHTML = array();
var absHTML;
var keyHTML;
var bodyHTML = array();
var i = 0;
for ( var j in divarray) {
if(divarray[i].className == "articleBody"){
alert("found");
articleHTML = divarray[i];
break;
}
bodyHTML[i] = '';
if(articleHTML[i].className == "issueMiniFeature"){continue;}
if(articleHTML[i].className == "abstract"){absHTML = articleHTML[i]; continue;}
if(articleHTML[i].className == "journalKeywords"){keyHTML = articleHTML[i]; continue;}
bodyHTML[i] = articleHTML[i];
i++;
}
Это - ошибка, которую я получаю:
ReferenceError: array is not defined
Я использую Google Chrome, если он помогает кому-либо.
Это не php - вы должны использовать
var variable_name = new Array()
или даже лучше
var variable_name = []
Это []
в ECMAScript; это не PHP. Интерпретатор прав - массив
не определен , вот почему вы это получаете.
Это не способ объявлять переменные как пустой массив. Вы должны использовать:
var articleHTML = [];
См. Этот предыдущий вопрос для обоснования использования этого метода вместо new Array ()
Вместо
var articleHTML = array();
и
var bodyHTML = array();
используйте
var articleHTML = [];
и
var bodyHTML = [];
Сначала необходимо определить
var divarray = new Array();
Вам также не нужно использовать var шесть раз, вы можете сделать:
var divarray = document.getElementById("yui-main").getElementsByTagName("div"),
articleHTML = [],
absHTML = [],
keyHTML = [],
bodyHTML = [],
i = 0;
Что работает так же, как и ваши шесть vars, но выглядит намного красивее.
Также есть ряд веских причин не использовать new при создании массива (кроме того, []; намного короче, чем new Array();)