Javascript 使用PrototypeJS选择多个ID

Javascript 使用PrototypeJS选择多个ID,javascript,prototypejs,Javascript,Prototypejs,我又有一个原型问题;看看这个HTML: <select id="dropdown_1><option>...</option></select> ... <select id="dropdown_n"><option>...</option></select> 它会成功的 我怎样才能用同样的方法解决它,使用许多看起来像我的ID $$('[id^=“dropdown”]')。first后代()也不能解

我又有一个原型问题;看看这个HTML:

<select id="dropdown_1><option>...</option></select>
...
<select id="dropdown_n"><option>...</option></select>
它会成功的

我怎样才能用同样的方法解决它,使用许多看起来像我的ID

$$('[id^=“dropdown”]')。first后代()也不能解决我的问题

为每个元素添加一个类“下拉列表”,并在该元素上选择


顺便说一句,你的HTML有语法错误。

你知道你有多少下拉列表,如果是这样的话,你可以按照以下方式做一些事情:

for(var i=1; i<=MAX_DROPDOWNS; i++) {
    var dropdown = $('dropdown_' + i);
    // Do whatever you need to do with each drop down
}
在您的示例中,您忽略了返回数组而不是元素的

如果您只想选择一个选项,那么您可以这样做:

$$('[id^="dropdown"]')[0].firstDescendant();
或者,如果需要每个匹配选项的第一个选项,请执行以下操作:

var options = $$('select[id^="dropdown"] > option:first-child');

谢谢你的回答,也许这是工作!!但在我的情况下,我需要单独调用每个select!问题是如何生成select!!我不能改变它!!他们已经有了一个id
“dropdown\”和数字
@麻烦:在生成它们的地方更改它。我需要独立地与每个下拉列表交互!它在一个调用函数中!我需要这样的东西:
$('select[id^=“dropdown”]”)
来获取第一个孩子(选项)。
$$('[id^="dropdown"]')[0].firstDescendant();
var options = $$('select[id^="dropdown"] > option:first-child');