基于标题和类型的 appendTo
appendTo based on title and type
我需要根据系列标题和歌曲类型对歌曲进行排序。
我正在使用 jQuery UI 菜单:
<ul id="menu"></ul>
for(y = 0; y<tytuly.length; y++){
$('<li><div>'+tytuly[y]+'</div><ul><li><div>Openingi</div><ul id="ops'+y+'"></ul></li><li><div>Endingi</div><ul id="eds'+y+'"></ul></li><li><div>Inserty</div><ul id="ins'+y+'"></ul></li></ul></li>').appendTo('#menu');
}
我使用 Ajax(示例数据)加载内容:[{"nr_wpisu":"1","id":"39","typ":"1","link":"https:\/\/animethemes.moe\/video\/KakumeikiValvrave-OP1.webm","tytul_autor":"Preserved Roses","tytul":"Kakumeiki Valvrave"},{"nr_wpisu":"43","id_anime":"36","typ":"2","link":"https:\/\/animethemes.moe\/video\/MaouGakuinNoFutekigousha-ED1.webm","tytul_autor":"Hamidashimono - Tomori Kusunoki","tytul":"Maou Gakuin no Futekigousha: Shijou Saikyou no Maou no Shiso, Tensei shite Shison-tachi no Gakkou e"}]
在加载的内容中,标题id相同的记录很少,所以我做了一个没有副本的数组
然后我有歌曲列表,我必须按 title/title_id 及其类型排序,然后将其附加到正确的 <ul>
之前我用的是:
var tytuly = ["title","title2","title3","title4","title5","title6","title7","title8","title9"];
for(y = 0; y<tytuly.length; y++){
$('<li><div>'+tytuly[y]+'</div><ul><li><div>Openingi</div><ul id="ops'+y+'"></ul></li><li><div>Endingi</div><ul id="eds'+y+'"></ul></li><li><div>Inserty</div><ul id="ins'+y+'"></ul></li></ul></li>').appendTo('#menu');
}
$(function(){
$("#menu").menu();
});
var unflist = [];
var link = ["link","link","link","link","link","link","link","link","link"];
var type = [1,1,2,2,2,3,3,1,1];
var tyt_art = ["test","test","test","test","test","test","test","test","test"];
for (q = 0; q <= 8; q++) {
if (type[q] == 1) {
$('<li class="op' + q + '"></li>').appendTo('body #ops');
$('<div/>').text(tyt_art[q]).appendTo('body .op' + q);
}
if (type[q] == 2) {
$('<li class="ed' + q + '"></li>').appendTo('body #eds');
$('<div/>').text(tyt_art[q]).appendTo('body .ed' + q);
}
if (type[q] == 3) {
$('<li class="ins' + q + '"></li>').appendTo('body #ins');
$('<div/>').text(tyt_art[q]).appendTo('body .ins' + q);
}
unflist.push(link[q]);
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<ul id="menu">
</ul>
It should look like this
但是此时排序有问题。
[在此处输入图片描述][3]
您似乎有 4 个没有关系的数组:
var tytuly = ["title","title2","title3","title4","title5","title6","title7","title8","title9"];
var link = ["link","link","link","link","link","link","link","link","link"];
var type = [1,1,2,2,2,3,3,1,1];
var tyt_art = ["test","test","test","test","test","test","test","test","test"];
不建议这样做。我建议将其调整为对象数组。
var ty = [{
title: "title 1",
link: "link 1",
type: 1,
art: "test 1"
},{
title: "title 2",
link: "link 2",
type: 1,
art: "test 2"
},{
title: "title 3",
link: "link 3",
type: 2,
art: "test 3"
},{
title: "title 4",
link: "link 4",
type: 2,
art: "test 4"
},{
title: "title 5",
link: "link 5",
type: 2,
art: "test 5"
},{
title: "title 6",
link: "link 6",
type: 3,
art: "test 6"
},{
title: "title 7",
link: "link 7",
type: 3,
art: "test 7"
},{
title: "title 8",
link: "link 8",
type: 1,
art: "test 8"
},{
title: "title 9",
link: "link 9",
type: 1,
art: "test 9"
}];
这样整理你的数据,你可以更方便地使用它。如果您想按特定类型排序,可以使用比较函数 .sort()
来完成此操作。
var ty = [{
title: "title 1",
link: "link 1",
type: "1",
art: "test 1"
}, {
title: "title 2",
link: "link 2",
type: "1",
art: "test 2"
}, {
title: "title 3",
link: "link 3",
type: "2",
art: "test 3"
}, {
title: "title 4",
link: "link 4",
type: "2",
art: "test 4"
}, {
"nr_wpisu": "1",
"id": "39",
"type": "1",
"link": "https:\/\/animethemes.moe\/video\/KakumeikiValvrave-OP1.webm",
art: "Preserved Roses",
title: "Kakumeiki Valvrave"
}, {
"nr_wpisu": "43",
"id_anime": "36",
"type": "2",
"link": "https:\/\/animethemes.moe\/video\/MaouGakuinNoFutekigousha-ED1.webm",
art: "Hamidashimono - Tomori Kusunoki",
title: "Maou Gakuin no Futekigousha: Shijou Saikyou no Maou no Shiso, Tensei shite Shison-tachi no Gakkou e"
}, {
title: "title 7",
link: "link 7",
type: "3",
art: "test 7"
},
{
title: "title 8",
link: "link 8",
type: "1",
art: "test 8"
}, {
title: "title 9",
link: "link 9",
type: "1",
art: "test 9"
}, {
title: "Song 1",
link: "link 10",
type: null,
art: "Test 10"
}
];
function popMenu(tObj, myData) {
var op = $("<li>").html("<div>Openingi</div>").appendTo(tObj);
$("<ul>", {
id: "op"
}).insertAfter($("div", op));
var ed = $("<li>").html("<div>Endingi</div>").appendTo(tObj);
$("<ul>", {
id: "ed"
}).insertAfter($("div", ed));
var ins = $("<li>").html("<div>Inserty</div>").appendTo(tObj);
$("<ul>", {
id: "ins"
}).insertAfter($("div", ins));
$.each(myData, function(i, t) {
switch (t.type) {
case "1":
$('<li>', {
class: "op-" + i
}).appendTo($("ul", op));
$('<div>', {
title: t.art
}).text(t.title).appendTo($('.op-' + i, tObj));
break;
case "2":
$('<li>', {
class: "ed-" + i
}).appendTo($("ul", ed));
$('<div>', {
title: t.art
}).text(t.title).appendTo($('.ed-' + i, tObj));
break;
case "3":
$('<li>', {
class: "ins-" + i
}).appendTo($("ul", ins));
$('<div>', {
title: t.art
}).text(t.title).appendTo($('.ins-' + i, tObj));
break;
default:
var s = $('<li>').appendTo(tObj);
$('<div>', {
title: t.art
}).text(t.title).appendTo(s);
}
});
}
$(function() {
popMenu($("#menu"), ty);
$("#menu").menu();
});
#menu {
width: 150px;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<ul id="menu">
</ul>
参考链接:
我正在发布答案,也许有一天会有人需要它:
var currentTitleNumber;
var q;
for(q = 0; q<tytuly.length;q++){
if(q == $.inArray(tytuly[q], tytuly)){
currentTitleNumber = q;
for(o = 0; o <=ostlength; o++){
if(typ[o] == 1 && allTytuly[o] == tytuly[q]){
$('<li class="op'+o+'"></li>').appendTo('body #ops'+currentTitleNumber);
$('<div/>').text(tyt_art[o]).appendTo('body .op'+o);
}
if(typ[o] == 2 && allTytuly[o] == tytuly[q]){
$('<li class="ed'+o+'"></li>').appendTo('body #eds'+currentTitleNumber);
$('<div/>').text(tyt_art[o]).appendTo('body .ed'+o);
}
if(typ[o] == 3 && allTytuly[o] == tytuly[q]){
$('<li class="ins'+o+'"></li>').appendTo('body #ins'+currentTitleNumber);
$('<div/>').text(tyt_art[o]).appendTo('body .ins'+o);
}
}
}
}
我需要根据系列标题和歌曲类型对歌曲进行排序。
我正在使用 jQuery UI 菜单:
<ul id="menu"></ul>
for(y = 0; y<tytuly.length; y++){
$('<li><div>'+tytuly[y]+'</div><ul><li><div>Openingi</div><ul id="ops'+y+'"></ul></li><li><div>Endingi</div><ul id="eds'+y+'"></ul></li><li><div>Inserty</div><ul id="ins'+y+'"></ul></li></ul></li>').appendTo('#menu');
}
我使用 Ajax(示例数据)加载内容:[{"nr_wpisu":"1","id":"39","typ":"1","link":"https:\/\/animethemes.moe\/video\/KakumeikiValvrave-OP1.webm","tytul_autor":"Preserved Roses","tytul":"Kakumeiki Valvrave"},{"nr_wpisu":"43","id_anime":"36","typ":"2","link":"https:\/\/animethemes.moe\/video\/MaouGakuinNoFutekigousha-ED1.webm","tytul_autor":"Hamidashimono - Tomori Kusunoki","tytul":"Maou Gakuin no Futekigousha: Shijou Saikyou no Maou no Shiso, Tensei shite Shison-tachi no Gakkou e"}]
在加载的内容中,标题id相同的记录很少,所以我做了一个没有副本的数组
然后我有歌曲列表,我必须按 title/title_id 及其类型排序,然后将其附加到正确的 <ul>
之前我用的是:
var tytuly = ["title","title2","title3","title4","title5","title6","title7","title8","title9"];
for(y = 0; y<tytuly.length; y++){
$('<li><div>'+tytuly[y]+'</div><ul><li><div>Openingi</div><ul id="ops'+y+'"></ul></li><li><div>Endingi</div><ul id="eds'+y+'"></ul></li><li><div>Inserty</div><ul id="ins'+y+'"></ul></li></ul></li>').appendTo('#menu');
}
$(function(){
$("#menu").menu();
});
var unflist = [];
var link = ["link","link","link","link","link","link","link","link","link"];
var type = [1,1,2,2,2,3,3,1,1];
var tyt_art = ["test","test","test","test","test","test","test","test","test"];
for (q = 0; q <= 8; q++) {
if (type[q] == 1) {
$('<li class="op' + q + '"></li>').appendTo('body #ops');
$('<div/>').text(tyt_art[q]).appendTo('body .op' + q);
}
if (type[q] == 2) {
$('<li class="ed' + q + '"></li>').appendTo('body #eds');
$('<div/>').text(tyt_art[q]).appendTo('body .ed' + q);
}
if (type[q] == 3) {
$('<li class="ins' + q + '"></li>').appendTo('body #ins');
$('<div/>').text(tyt_art[q]).appendTo('body .ins' + q);
}
unflist.push(link[q]);
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<ul id="menu">
</ul>
It should look like this
但是此时排序有问题。 [在此处输入图片描述][3]
您似乎有 4 个没有关系的数组:
var tytuly = ["title","title2","title3","title4","title5","title6","title7","title8","title9"];
var link = ["link","link","link","link","link","link","link","link","link"];
var type = [1,1,2,2,2,3,3,1,1];
var tyt_art = ["test","test","test","test","test","test","test","test","test"];
不建议这样做。我建议将其调整为对象数组。
var ty = [{
title: "title 1",
link: "link 1",
type: 1,
art: "test 1"
},{
title: "title 2",
link: "link 2",
type: 1,
art: "test 2"
},{
title: "title 3",
link: "link 3",
type: 2,
art: "test 3"
},{
title: "title 4",
link: "link 4",
type: 2,
art: "test 4"
},{
title: "title 5",
link: "link 5",
type: 2,
art: "test 5"
},{
title: "title 6",
link: "link 6",
type: 3,
art: "test 6"
},{
title: "title 7",
link: "link 7",
type: 3,
art: "test 7"
},{
title: "title 8",
link: "link 8",
type: 1,
art: "test 8"
},{
title: "title 9",
link: "link 9",
type: 1,
art: "test 9"
}];
这样整理你的数据,你可以更方便地使用它。如果您想按特定类型排序,可以使用比较函数 .sort()
来完成此操作。
var ty = [{
title: "title 1",
link: "link 1",
type: "1",
art: "test 1"
}, {
title: "title 2",
link: "link 2",
type: "1",
art: "test 2"
}, {
title: "title 3",
link: "link 3",
type: "2",
art: "test 3"
}, {
title: "title 4",
link: "link 4",
type: "2",
art: "test 4"
}, {
"nr_wpisu": "1",
"id": "39",
"type": "1",
"link": "https:\/\/animethemes.moe\/video\/KakumeikiValvrave-OP1.webm",
art: "Preserved Roses",
title: "Kakumeiki Valvrave"
}, {
"nr_wpisu": "43",
"id_anime": "36",
"type": "2",
"link": "https:\/\/animethemes.moe\/video\/MaouGakuinNoFutekigousha-ED1.webm",
art: "Hamidashimono - Tomori Kusunoki",
title: "Maou Gakuin no Futekigousha: Shijou Saikyou no Maou no Shiso, Tensei shite Shison-tachi no Gakkou e"
}, {
title: "title 7",
link: "link 7",
type: "3",
art: "test 7"
},
{
title: "title 8",
link: "link 8",
type: "1",
art: "test 8"
}, {
title: "title 9",
link: "link 9",
type: "1",
art: "test 9"
}, {
title: "Song 1",
link: "link 10",
type: null,
art: "Test 10"
}
];
function popMenu(tObj, myData) {
var op = $("<li>").html("<div>Openingi</div>").appendTo(tObj);
$("<ul>", {
id: "op"
}).insertAfter($("div", op));
var ed = $("<li>").html("<div>Endingi</div>").appendTo(tObj);
$("<ul>", {
id: "ed"
}).insertAfter($("div", ed));
var ins = $("<li>").html("<div>Inserty</div>").appendTo(tObj);
$("<ul>", {
id: "ins"
}).insertAfter($("div", ins));
$.each(myData, function(i, t) {
switch (t.type) {
case "1":
$('<li>', {
class: "op-" + i
}).appendTo($("ul", op));
$('<div>', {
title: t.art
}).text(t.title).appendTo($('.op-' + i, tObj));
break;
case "2":
$('<li>', {
class: "ed-" + i
}).appendTo($("ul", ed));
$('<div>', {
title: t.art
}).text(t.title).appendTo($('.ed-' + i, tObj));
break;
case "3":
$('<li>', {
class: "ins-" + i
}).appendTo($("ul", ins));
$('<div>', {
title: t.art
}).text(t.title).appendTo($('.ins-' + i, tObj));
break;
default:
var s = $('<li>').appendTo(tObj);
$('<div>', {
title: t.art
}).text(t.title).appendTo(s);
}
});
}
$(function() {
popMenu($("#menu"), ty);
$("#menu").menu();
});
#menu {
width: 150px;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<ul id="menu">
</ul>
参考链接:
我正在发布答案,也许有一天会有人需要它:
var currentTitleNumber;
var q;
for(q = 0; q<tytuly.length;q++){
if(q == $.inArray(tytuly[q], tytuly)){
currentTitleNumber = q;
for(o = 0; o <=ostlength; o++){
if(typ[o] == 1 && allTytuly[o] == tytuly[q]){
$('<li class="op'+o+'"></li>').appendTo('body #ops'+currentTitleNumber);
$('<div/>').text(tyt_art[o]).appendTo('body .op'+o);
}
if(typ[o] == 2 && allTytuly[o] == tytuly[q]){
$('<li class="ed'+o+'"></li>').appendTo('body #eds'+currentTitleNumber);
$('<div/>').text(tyt_art[o]).appendTo('body .ed'+o);
}
if(typ[o] == 3 && allTytuly[o] == tytuly[q]){
$('<li class="ins'+o+'"></li>').appendTo('body #ins'+currentTitleNumber);
$('<div/>').text(tyt_art[o]).appendTo('body .ins'+o);
}
}
}
}