Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将jQuery插件转换为纯javascript_Javascript_Jquery_Html_Dom - Fatal编程技术网

尝试将jQuery插件转换为纯javascript

尝试将jQuery插件转换为纯javascript,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我有一个jQuery插件,我想把它转换成纯javascript,这样我就可以去掉对jQuery的依赖。我一直关注的插件部分是这个位,它返回按深度排序的DOM元素(例如body的孩子、孙子、曾孙等等) 基本上,我只需要纯javascript版本的$('body'),$.merge和children()来帮助我 任何帮助都将不胜感激好的,我自己想出来的,最后很简单 // Every Element in the DOM. var allElements = document.getElem

我有一个jQuery插件,我想把它转换成纯javascript,这样我就可以去掉对jQuery的依赖。我一直关注的插件部分是这个位,它返回按深度排序的DOM元素(例如body的孩子、孙子、曾孙等等)

基本上,我只需要纯javascript版本的
$('body')
$.merge
children()
来帮助我


任何帮助都将不胜感激

好的,我自己想出来的,最后很简单

    // Every Element in the DOM.

var allElements = document.getElementsByTagName('*'),

    // All the Element's children sorted by depth, 
    // ie. body, then body's children, grandchildren,
    // so on and so forth.

    sortedByDepth = [];

    // for every element

for(var i = 0; i<allElements.length; ++i) {

    // grab Its children

    var allChildren = allElements[i].children;

    // for every grabbed child

    for(var j = 0; j<allChildren.length; ++j){

        // Add it to the sortedByDepth array

        sortedByDepth = sortedByDepth.concat(allChildren[j]);
    }   
}
console.log(sortedByDepth);
//DOM中的每个元素。
var allegements=document.getElementsByTagName('*'),
//所有元素的子元素按深度排序,
//身体,然后是身体的孩子,孙子,
//诸如此类。
sortedByDepth=[];
//对于每个元素

对于(var i=0;我可以给(编辑您的问题)一些示例,说明您希望如何使用这些函数(假设它们存在并工作)?按深度排序,好吧,孩子们,然后孙子们……组成了一个族谱;而不仅仅是一个排序的列表。请解释你的期望。可能重复的@Emmanueldalay op有一个重复的问题,他们昨天发布了一个更好的解释和他们想要什么的例子。
    // Every Element in the DOM.

var allElements = document.getElementsByTagName('*'),

    // All the Element's children sorted by depth, 
    // ie. body, then body's children, grandchildren,
    // so on and so forth.

    sortedByDepth = [];

    // for every element

for(var i = 0; i<allElements.length; ++i) {

    // grab Its children

    var allChildren = allElements[i].children;

    // for every grabbed child

    for(var j = 0; j<allChildren.length; ++j){

        // Add it to the sortedByDepth array

        sortedByDepth = sortedByDepth.concat(allChildren[j]);
    }   
}
console.log(sortedByDepth);