我想做什么
我有以下代码,在这一点上,工作,但它只是将元素(el)转储到一个大型列表项中的页面上,而不是每行自己
$(document).ready(function() {
var $div = $('<li>');
$div.load('pages.html .el', function(){
$("#my-menu ul.toc").prepend($div);
});
});
我尝试了一些奇怪的选择等等,但似乎无法解决这个问题。
非常感谢任何帮助。感谢
答案 0 :(得分:1)
一旦从外部html加载了元素,就需要遍历这些元素。这样的事情(未经测试的代码)可能会起作用:
$(document).ready(function() {
var $div = $('<div></div>');
var $ul = $('#my-menu ul.toc');
$div.load('pages.html .el', function(){
$div.children().each(function() {
$ul.prepend($('<li>' + $(this) + '</li>'));
});
});
});
如果prepend
的{{1}}在一行中不起作用,那么如果将其分开则可能会有效:
ul
答案 1 :(得分:0)
如果没有看到代码,我什么也说不出来,但是你可以试试这个,
$(document).ready(function() {
var $div = $('<li>');
$div.load('pages.html .el', function(){
$("#my-menu ul.toc").insertBefore($div);
});
});
答案 2 :(得分:0)
尝试在隐藏的div中加载html ..
$("<div id='pagesHtml' style='display: none;'></div>").appendTo("body");
$("#pagesHtml").load(pages.html);
..将锚点存储在变量中..
var $anchors = $("#pagesHtml").find(".el");
..然后为每个锚点制作一个LI ..
$.each($anchors, function(i, anchor){
$("<li>" + anchor + "</li>").prependTo("#my-menu ul.toc");
});
..然后将其添加到您的容器中。
如果订单有误,那么你应该使用“.appendTo”。
快乐编码=)