【问题标题】:Is it a bad to use $$ in Prototype?在 Prototype 中使用 $$ 是不是很糟糕?
【发布时间】:2011-09-20 10:54:48
【问题描述】:

Prototype JS API documentation 提到了 $$() 函数,它允许您基于 CSS 选择器选择和扩展元素,就像 jQuery 中的 $() 函数一样。

但是,在该页面上,$$ 就像某种最后的手段一样呈现:

有时,您的 DOM 库中的常用工具不足以快速找到元素或元素集合。如果您了解 DOM 树结构,则可以简单地使用 CSS 选择器来完成工作。

这是为什么呢?我应该远离$$ 而只使用document.getElementsByClassName(呃)吗?

【问题讨论】:

    标签: dom css-selectors prototypejs


    【解决方案1】:

    根据你写的那句话,我想说他们鼓励你使用$$()$$() 为您提供了一种跨浏览器的方式来快速轻松地访问元素。另一方面,document.getElementsByClassName() 要么是 buggy or not functional in IE version up to and including version 8

    【讨论】:

    • 当然!你说得对。我不知道 IE 错误,也感谢您指出这一点。
    【解决方案2】:

    在一个复杂的项目中,我尽量避免使用$$(),以免意外选择我不想要的东西。对于较小的项目,我不会担心。我通常可以使用$(Element).childElements$(Element).immediateDecendants 来完成我需要的工作。

    【讨论】:

    • 我主要计划使用类选择器(没什么太复杂的),所以选择太多元素并不是什么大问题。不过,感谢您的提示!
    猜你喜欢
    • 2011-10-06
    • 2010-12-09
    • 2010-12-16
    • 1970-01-01
    • 2018-01-20
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多