getElementById('pcode')许多元素全部编号

时间:2010-12-29 13:23:19

标签: javascript html dhtml

我有一个文档,当单击一个链接时,在该表的每一行中显示一个结果表,有一个带有SPAN标记的TD元素,其中一个id从2开始,可以递增到400(即id =“pcode2”)。

我需要获取此内部HTML值并将其写入Javascript函数?,数组?串?后面跟一个逗号,用于地图的另一个Javascript函数。

数据已预先排序,并通过单击链接来调用地图以获取路径。跨度id永远不会超过400。

最终目的地需要看起来像这样..

var via = ("pcode2," "pcode3,", "pcode4");

其中pcode等于SPAN的innerHTML值,后者是邮政编码。

由于

贾斯汀

1 个答案:

答案 0 :(得分:1)

你的意思是:

var values = [];

for(var i = 2; i <= 400; i++) {
    var element = document.getElementById('pcode' + i);
    if(element === null) {
        break;
    }
    values.push(element.innerHTML); // or element.innerHTML + ','
}

如果没有,你应该澄清我们的问题。

不知道为什么你需要逗号。如果您想稍后连接这些值,可以使用join()

var str = values.join(',');

示例:

var values = ['a','b','c'];
var str = values.join(',');
// gives "a,b,c"

更新:从documentation,我认为您必须这样做(假设map全球可用):

function GetRoute() { 
    var from = document.getElementById('inpAddr').value; 
    var locations = [from]; 
    for(var i = 2; i <= 400; i++) { 
        var element = document.getElementById('pcode' + i); 
        if(element === null) { break; } 
        locations.push(element.innerHTML); 
    } 
    var options = new VERouteOptions(); 
    options.DrawRoute = true; 
    map.GetDirections(locations,options); 
}

请注意,locations只是一个数组。在原始代码中,您将创建一个嵌套数组。并且您似乎不需要尾随逗号,只需要一系列位置。