Javascript动态GetElementByID

Javascript动态GetElementByID,javascript,dynamic,getelementbyid,Javascript,Dynamic,Getelementbyid,我希望在两个不同的元素上使用相同的函数,而不复制代码和更改id。我希望将id作为参数传递到函数中,但它不起作用 function getSelected(id){ var selected = new Array(); **var selObj = document.getElementById(id);** //The problem is here var count = 0; for (x=0;

我希望在两个不同的元素上使用相同的函数,而不复制代码和更改id。我希望将id作为参数传递到函数中,但它不起作用

function getSelected(id){
            var selected = new Array();
            **var selObj = document.getElementById(id);** //The problem is here
            var count = 0;
            for (x=0; x<selObj.options.length; x++){
                if (selObj.options[x].selected){
                    selected[count] = selObj.options.value;
                    count++;
                }
            }
            alert(count)
        }
函数getSelected(id){
所选变量=新数组();
**var selObj=document.getElementById(id);**//问题就在这里
var计数=0;

在我看来,(x=0;x的错误似乎在其他地方,特别是在这一行:

selected[count] = selObj.options.value;
这不应该是:

selected[count] = selObj.options[x].value;
或(不需要额外的“计数”变量)


(此外,您在
x=0
前面缺少一个
var
,从而使x成为一个全局变量。)

确保
id
为string除了向我们显示错误消息(如果有)之外,您还收到了什么错误,请确保
id
中包含的内容。您可以使用
console.log
将其打印到浏览器控制台。此外,如何调用此函数?请编辑您的问题并至少添加这些详细信息。感谢您的反馈。我实际捕获了“selObj.options[x].value”发布几分钟后。另外,我不知道我在没有使用“var”的情况下创建了全局变量。我是一名JS新手,一定不会再犯那种错误。我做了那些更改,但没有任何效果。你是否可以通过生成一个最小的示例?到目前为止,你的代码看起来还不错。
selected.push( selObj.options[x].value );