Javascript 代码不';我不在办公室工作

Javascript 代码不';我不在办公室工作,javascript,html,syntax-error,Javascript,Html,Syntax Error,这是我的密码: var divarray = document.getElementById("yui-main").getElementsByTagName("div"); var articleHTML; var absHTML; var keyHTML; var bodyHTML = []; for( var i in divarray) { if(divarray[i].className == "articleBody"){ articleHTML = diva

这是我的密码:

var divarray = document.getElementById("yui-main").getElementsByTagName("div");
var articleHTML;
var absHTML;
var keyHTML;
var bodyHTML = [];
for( var i in divarray) {
    if(divarray[i].className == "articleBody"){
        articleHTML = divarray[i];
        for( var j in articleHTML ){
            bodyHTML[i] = '';
            if(articleHTML[j].className == "issueMiniFeature"){continue;}
            if(articleHTML[j].className == "abstract"){absHTML = articleHTML[i]; continue;}
            if(articleHTML[j].className == "journalKeywords"){keyHTML = articleHTML[i]; continue;}
            bodyHTML[i] = articleHTML[i];
        }
        break;
    }
    i++;
}
我得到的错误是:

SyntaxError: Unexpected token var

我正在使用Google Chrome,

中的javascript
for…in
并没有达到您期望的效果(通过数组中的元素枚举)

javascript中的将通过组成对象(不是您想要的)的键/值对(或公共变量)进行枚举


您需要使用一个好的、老式的
for
循环。

中的javascript
for…做不到您所期望的(通过数组中的元素枚举)

javascript中的
将通过组成对象(不是您想要的)的键/值对(或公共变量)进行枚举


你需要使用一个好的、老式的for循环。

为什么不使用传统的for循环呢?你在这里没有真正使用关联数组…

为什么不使用传统的for循环呢?你在这里没有真正使用关联数组…

这不是迭代集合的正确方法

您需要一个标准的
for
循环,而不是
for..in
循环

for( var i = 0, l = divarray.length; i < l; i++ ) {

articleHTML
此时保存对单个HTML节点的引用,而不是任何类型的集合或数组。

这不是迭代集合的正确方法

您需要一个标准的
for
循环,而不是
for..in
循环

for( var i = 0, l = divarray.length; i < l; i++ ) {

articleHTML
此时包含对单个HTML节点的引用,而不是任何类型的集合或数组。

我认为您将JavaScript误认为是PHP的功能。JavaScript没有
foreach
循环。JavaScript有
for in
,这是您错误使用的,
用于
>循环。在处理数组时,使用标准的
for
循环。需要使用
for in
循环和对象文本,因为索引不是简单的递增正整数

在JavaScript中,
for
循环的参数中有3个部分,用分号分隔,如下所示:
*incrementor的起始位置(如果变量先前定义为0或正整数,则为可选)
*incrementor的结束位置
*递增法

在以下示例中,
arrayName
是数组名称的值I:

for (; a < arrayName.length; a += 1) {
for (a = x + 1; a < arrayName.length + 3; a += 2) {

我想你把JavaScript误认为是PHP的功能。JavaScript没有
foreach
循环。JavaScript有
for in
,这是你错误使用的,而普通
用于
循环。在处理数组时,使用标准
for
循环。你需要使用
for in
循环对象文本,因为索引不是递增正整数的简单性

在JavaScript中,
for
循环的参数中有3个部分,用分号分隔,如下所示:
*incrementor的起始位置(如果变量先前定义为0或正整数,则为可选)
*incrementor的结束位置
*递增法

在以下示例中,
arrayName
是数组名称的值I:

for (; a < arrayName.length; a += 1) {
for (a = x + 1; a < arrayName.length + 3; a += 2) {

您可以将其添加到脚本中:

Array.prototype.foreach = function (callback) {
    for (var i=0; i < this.length; i++) {
        callback(this[i]);
    }
}

您可以将其添加到脚本中:

Array.prototype.foreach = function (callback) {
    for (var i=0; i < this.length; i++) {
        callback(this[i]);
    }
}

+1:我遇到了这个确切的问题。但是,我选择使用jQuery的.each循环,因为它位于我的雇主使用的(自定义)jQuery插件中。+1:我遇到了这个确切的问题。但是,我选择使用jQuery的.each循环,因为它位于(自定义)中我的雇主使用的jQuery插件。该函数通常被称为
each
map
。不过这是个好主意。该函数通常被称为
each
map
。不过这是个好主意。