gpt4 book ai didi

javascript - 如何将 JavaScript 对象数组转换为 jQuery prependTo

转载 作者:行者123 更新时间:2023-12-02 17:36:59 24 4
gpt4 key购买 nike

在下面的示例中,我设置一个对象数组并按关键参数(位置)对它们进行排序。然后我需要输出结果 - 但如何输出?请参阅代码中的注释。

$(document).ready(function () {

function sortHooks(){

// add modules
var modules = [
{ module: 'navbar', hook: 'hook-header', position: '2'},
{ module: 'logo', hook: 'hook-header', position: '3'},
{ module: 'description', hook: 'hook-header', position: '1'}
];

// sort by "position" ASC
function byPosition(a,b) {
if (a.position < b.position)
return -1;
if (a.position > b.position)
return 1;
return 0;
}

// jQuery function with the given parameters
/* for each modules as modules
for each hook as hook
do the following:
$( '#' + module )prependTo( '#' + hook )

so for the given example it should return
$('#description')prependTo('hook-header')
$('#navbar')prependTo('hook-header')
$('#logo')prependTo('hook-header')

so they can be executed in that specific order.
And since we're using "prepend" that will mean
that the items be placed like this:
#logo
#navbar
#description
*/

return ???
}

// Execute sortHooks function
sortHooks();
});

也许是这样的,但我不太确定:

$.each(modules, function(index, value) {
$( '#' + value.module ).prependTo( '#' + value.hook ));
});

我还尝试了很多其他方法,其中之一是 Hook elements with insertAfter, but stay in parent - jQuery ,效果很好,但是如果位置高于父级中的子级,它不知道如何处理它并导致很多不需要的行为。

最佳答案

只需使用常规循环

for(var i=0; i<modules.length; i++){
$( '#' + modules[i].module )prependTo( '#' + modules[i].hook );
}

关于javascript - 如何将 JavaScript 对象数组转换为 jQuery prependTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22542709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com