JQuery按ID选择

时间:2009-09-25 15:24:15

标签: javascript jquery

AFAIK,JQuery ID选择器:

var ctlId = $('#' + strControlId);

document.getElementById转换为来电。

问题:

  • 所有浏览器都支持document.getElementById吗?
  • 我目前正在使用下面找到的查找对象功能来选择ID。 JQuery选择器基本上会做同样的事情吗?

3 个答案:

答案 0 :(得分:6)

不,

var ctlId = $('#' + strControlId);

结果为jquery object,位置$('#' + strControlId)[0]document.getElementById的结果

我建议您尽快从Macromedia javascript快速而有力地远离。令人讨厌的东西,如果你继续使用它,你会学习很多非常糟糕的javascript练习(不幸的是)。

编辑: 回应下面关于MM javascript历史的评论。我打算作为评论回复,但我认为我可能会有问题,所以我也可以在这里做出正确回应。

MM javascript的历史可能在这个时代并不是那么有趣,主要是因为所有的MM javascript都有 历史 - 我的意思是它被困在6年以上的时间扭曲中以前并没有表现出追赶(甚至承认)javascript社区中发生的令人难以置信的变化的迹象。

(我的意思是,为了大声哭泣,我可以知道实际使用“javascript社区”这个词,人们会点头呐喊,而不是用笑声来润湿自己。)

MM javascript是我们以前编写的代码,当DOM是你的敌人时,每次提到javascript编码时都会遇到恐怖的尖叫声。 MM试图让设计师更容易专注于设计和标记,而不必担心按钮翻转和菜单下拉等令人烦恼的问题。我们继续前进,javascript已经移动,Macromedia javascript功能保持不变。

答案 1 :(得分:3)

  1. 不是所有浏览器,而是所有现代浏览器。 Netscape 4不支持它。有些浏览器根本不支持Javascript ...
  2. Macromedia写了可怕的Javascript。看起来他们正在搜索框架,jQuery不会这样做,你可能不想这样做。坚持使用jQuery - 它更好......
  3. 编辑:IE,FireFox,Safari Opera多年来都支持它... Chrome自创建以来就一直支持它。

    d.layers适用于Netscape 4 - AFAIK之前或之后不存在。

答案 2 :(得分:0)

所有主流浏览器都支持getElementById(IE,Firefox,Safari,Chrome,Opera等)

MM函数将返回一个没有附加特殊新函数的标准DOM节点。

另一方面,jQuery将返回一个jQuery对象,这是一种附加了更多函数的数组(视觉效果函数等)。

jQuery函数也可以使用css选择器语法来搜索正确的节点,我不认为MM函数会这样做。

希望这有帮助