首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将jquery(.each、.find、.next)转换为javascript

将jquery(.each、.find、.next)转换为javascript
EN

Stack Overflow用户
提问于 2013-07-01 19:51:19
回答 3查看 5.8K关注 0票数 2

我参与了将jquery代码转换为java脚本的工作。

示例1:

在id为"parent_elem“的父html div中有几个类名称为"child_elems”的子元素。我需要动态更改子元素的宽度。jquery代码将如下所示:

代码语言:javascript
运行
复制
 $(#parent_elem).find(.child_elems).each(function(){
    $(this).css("width","50px");
 });

示例javascript:

代码语言: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也很陌生,如果有任何建议,我将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-01 19:56:17

如果你必须这样做,你绝对可以这样做,jQuery只是位于javascript之上的一层。当你写jQuery的时候,你就是在写javascript。

如果你真的需要沿着这条路走下去,看看jQuery源代码可能会有所帮助。James Padolsey提供了一个非常有用的工具来检查jQuery提供的各种方法。你可以在这里看到这个工具:http://james.padolsey.com/jquery/#v=git&fn=jQuery.fn.next

请记住,jQuery团队已经花了多年的时间让他们的代码高效地在多个浏览器上工作。如果您的代码跨浏览器失败,请不要感到惊讶。

票数 2
EN

Stack Overflow用户

发布于 2013-07-01 20:00:13

您可以使用下面的代码来完成您的工作,但请注意,它们可能并不适用于所有浏览器。如果可能的话,使用jQuery总是安全的。

代码语言:javascript
运行
复制
// jQuery -> JavaScript
.each  -> array.forEach(callback[, thisArg])
.find  -> document.querySelector(selectors), document.querySelectorAll(selectors);
票数 3
EN

Stack Overflow用户

发布于 2013-07-01 19:59:17

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17403844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档