首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PrototypeJS选择多个ID

使用PrototypeJS选择多个ID
EN

Stack Overflow用户
提问于 2011-03-11 21:14:27
回答 3查看 145关注 0票数 0

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

代码语言:javascript
复制
<select id="dropdown_1><option>...</option></select>
...
<select id="dropdown_n"><option>...</option></select>

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

代码语言:javascript
复制
temp_node = $('dropdown').firstDescendant();
default_option = temp_node.innerHTML;

看起来不错!

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-12 00:15:32

previous question中,您忽略了$$返回的是一个数组,而不是一个元素。

如果你只对一次选择感兴趣,那么你可以这样做:

代码语言:javascript
复制
$$('[id^="dropdown"]')[0].firstDescendant();

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

代码语言:javascript
复制
var options = $$('select[id^="dropdown"] > option:first-child');
票数 2
EN

Stack Overflow用户

发布于 2011-03-11 21:18:15

为每个元素添加一个类"dropdown“,并在上面选择。

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

票数 0
EN

Stack Overflow用户

发布于 2011-03-11 21:29:35

你知道你有多少下拉菜单吗?如果是这样的话,你可以这样做:

代码语言:javascript
复制
for(var i=1; i<=MAX_DROPDOWNS; i++) {
    var dropdown = $('dropdown_' + i);
    // Do whatever you need to do with each drop down
}

如果你不知道我认为有多少这样的东西会起作用:

代码语言:javascript
复制
var i=1;
while(var dropdown=$('dropdown_' + i)) {
    // Do whatever you need to do with the drop down.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5273324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档