我正在将rails应用程序从prototype迁移到Jquery,我看到了类似
的语法 var subEl = $$("#items_grid_container")[0]
subEl.style.height = windowGridContainerEm + "em"
我知道如何将第二部分转换为Jquery,但我如何转换
var subEl = $$("#items_grid_container")[0]
到Jquery中的等价物。
我试过了$("#items_grid_container")[0]
但是它没有用,任何帮助都会受到赞赏。感谢。
答案 0 :(得分:2)
原型$$
用于通过CSS选择器获取集合。那将是逗号分隔的字符串。所以,我会说它在内部使用document.querySelectorAll("tag/id/class/attributes")
。
虽然id选择器只返回一个元素。
因此,jQuery等效只是单$
:
$("#item_grid_container")[0]
将返回DOM元素而不是jQuery对象。因此, jQuery方法无法应用于DOM元素 ,反之亦然。只有jQuery对象才能使用jQuery方法。如果你需要jQuery对象,那么你不必在选择器中添加[0]
。
所以你必须这样做:
var el = $("#item_grid_container");
el.width(thevarwidth);