使用PrototypeJS选择多个ID

时间:2011-03-11 13:14:27

标签: javascript prototypejs

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

<select id="dropdown_1><option>...</option></select>
...
<select id="dropdown_n"><option>...</option></select>

当我只有一个id="dropdown"并执行此操作时:

temp_node = $('dropdown').firstDescendant();
default_option = temp_node.innerHTML;

它会起作用!

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

$$('[id^="dropdown"]').firstDescendant();也无法解决我的问题!

3 个答案:

答案 0 :(得分:2)

previous question一样,你忽略了$$返回一个数组,而不是一个元素。

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

$$('[id^="dropdown"]')[0].firstDescendant();

或者,如果您想要每个匹配选择的第一个选项,请执行以下操作:

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

答案 1 :(得分:0)

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

BTW你的HTML有语法错误。

答案 2 :(得分:0)

你知道你有多少堕落,如果是这样你可以做一些事情:

for(var i=1; i<=MAX_DROPDOWNS; i++) {
    var dropdown = $('dropdown_' + i);
    // Do whatever you need to do with each drop down
}

如果你不知道有多少我觉得这样的话会起作用:

var i=1;
while(var dropdown=$('dropdown_' + i)) {
    // Do whatever you need to do with the drop down.
}