jQuery中没有的DOM属性/方法?

时间:2009-04-20 23:27:23

标签: javascript jquery dom

跟进我的question about jQuery.get()我想知道是否存在jQuery中没有的DOM属性和方法列表,只有在使用原始DOM对象时才能访问(即$( “#someID”)。get()。scrollHeight;)

5 个答案:

答案 0 :(得分:4)

我没有遇到一个列表,但如果存在一个列表,它可能会非常冗长。除了浏览器特定的(专有)属性之外,还有许多其他不太有用的属性和方法,目前还没有被jQuery抽象。但是,我并不认为这是一个问题,甚至是一个有效的讨论点,因为jQuery是JavaScript;如果您需要访问超出jQuery提供的内容,那么您可以使用 get() 或访问您的“jQuery集合”中的指定元素,如数组:

jQuery(elem)[0].someDOMProperty;

另外,jQuery完全不支持DOM中的非元素节点。如果由于某种原因,您需要直接访问注释节点,文本节点等,那么您将需要使用“原始”DOM。

答案 1 :(得分:0)

我不知道jQuery中不可用的DOM操作/属性的编译列表(并且快速谷歌搜索没有提高任何内容),但如果你转到http://api.jquery.com/,你可以看到整个API,甚至可以下载它作为Adobe AIR应用程序,以防您在需要时没有互联网。

答案 2 :(得分:0)

每个元素的每个属性都可以通过attr()函数访问。如果您可以对该元素执行document.getElementById()然后访问属性,则还可以使用attr()函数执行此操作。但是,使用jquery时,可以通过其他方式更轻松地访问某些属性。例如,要查看元素是隐藏还是可见,您可以执行以下操作:

var isVisible=$("#el").is(":visible");

而不是使用attr()方法。同样,您可以使用比使用selectedIndex方法更简单的方式找到attr()下拉菜单和所选选项的文本。 This pdf概述了其中一些更简单的方法。

要访问css属性,最好这样做:

var fontWeight=$("#el").css("fontWeight");

而不是使用get()attr()。您也可以通过这种方式设置css属性,例如:

$("#el").css("fontWeight","bold");

答案 3 :(得分:0)

没有。 JQuery只是JavaScript。如果你可以在JavaScript中完成它,你可以在jQuery中完成它。一些属性和方法在jQuery对象的上下文中被覆盖,这就是你想要get()方法的地方 - 来'get'(即访问)标准属性/方法。

这真的很复杂。

答案 4 :(得分:-1)

我可能错了,但我认为您可以通过attr方法访问任何属性。