我参与将jquery代码转换为java脚本以满足要求。将jquery(.each,.find,.next)转换为javascript
例1:
没有与类名 “child_elems” 几个子元素ID为 “parent_elem” 父HTML DIV里面。我需要动态改变子元素的宽度。 jQuery代码如下所示:
$(#parent_elem).find(.child_elems).each(function(){
$(this).css("width","50px");
});
JavaScript示例:
var parentelem = document.getElementById("parent_elem");
var childelems = parentelem.getElementsByClassName("child_elems");
for(var i=0;i<childelems.length;i++)
childelems[i].style.width = "50px";
这工作,但我不能确定这是否是一个有效的方法。
我们可以在不使用for循环的情况下执行相同的任务吗?在JavaScript中是否有任何与.each
,.next
,.find
等效的内容?
我对javascript和jquery很新,也很感激任何的建议。
为什么你想避免'for'循环?这是对项目列表执行某些操作的自然选择。 jQuery的'.each()'方法使用'for'循环来实现。 jQuery是“只是”用JavaScript编写的函数的集合,所以如果你查看[jQuery.js文件](http://code.jquery.com/jquery-1.10.1),你可以看到你提到的函数是如何工作的.js文件)。 – nnnnnn
为什么你想要消除jQuery? – amhed
“在JavaScript中是否有任何等效的.each,.next,.find”?如果有一个跨浏览器的等价物,jQuery团队为什么要实现这个版本? – sabithpocker