如何返回元素ID而不是[object HTMLDivElement](Prototype.js)

12 html javascript dom prototypejs

我知道这很简单,但我无法绕过它.目前以下代码返回"[object HTMLDivElement],[object HTMLDivElement]"我希望它返回"div1,div2".有什么想法吗?多谢你们.

<HTML>
<HEAD>
<script type="text/javascript" src="path_to/prototype.js"></script>
<script>
function linkClick ()
{
    alert($$('div.basic'));
}
</script>
</HEAD>
<BODY>
   <div id="div1" class="basic" onclick="linkClick();"></div>
   <div id="div2" class="basic" onclick="linkClick();"></div>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

Kon*_*rad 21

我有同样的问题,有一个简单的解决方案:

如果varElement是包含[HTMLDivElement](或其他DOM对象)的对象,则只需添加'.id'

例如

varElement.id 
Run Code Online (Sandbox Code Playgroud)


kwc*_*cto 2

var ids = $$('div.basic').collect(function(el) { return el.id; }); //array of ids

alert(ids.join(','));
Run Code Online (Sandbox Code Playgroud)

collect是map的另一个名称,它允许您通过对每个集合应用“选择器”函数将一种类型的集合元素转换为另一种类型。