我又有一个原型问题;看看这个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();
也无法解决我的问题!
答案 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.
}