循环所有输入字段,一些随机重复?

时间:2015-04-27 20:12:28

标签: jquery each

我正在尝试创建一个幻灯片面板,它对于包含大量字段的表单来说就像一个目录。我有一个循环似乎随机拉除了文本字段两次:

enter image description here

我的代码

var ToC =
  "<div id='sticky-anchor'></div><div id='sticky'><a href='#toc'>&#9776; Table of Contents</a></div><nav role='navigation' id='toc' class='table-of-contents'><a href='#'>X Close</a>" +
    "<ul>";

var newLine, el, title, link;

jQuery(".form-wrapper").each(function() {

  el = jQuery(this).find('input');
  elLabel = jQuery(this).find('label:first');   
  title = elLabel.text();
  link = "#" + el.attr("id");

  newLine =
    "<li>" +
      "<a href='" + link + "'>" +
        title +
      "</a>" +
    "</li>";

  ToC += newLine;

});

ToC +=
   "</ul>" +
  "</nav>";

jQuery(".page-node-add-application #page").prepend(ToC);
});

编辑:看起来重复是由jQuery select2插件引起的。

1 个答案:

答案 0 :(得分:0)

我认为单引号或双引号错误,我不知道是什么原因你可以在追加后创建jquery对象,希望这会对你有所帮助

var $nav=$("<nav>").attr({
	"role":"navigation",
	"id":"toc",
	"class","table-of-contents"	
});
var $a=$("<a href='#'>").text("X Close");
var $ul=$("<ul>");
$nav.append($a);
$nav.append($ul);
//var ToC =  "<div id='sticky-anchor'></div><div id='sticky'><a href='#toc'>&#9776; Table of Contents</a></div><nav role='navigation' id='toc' class='table-of-contents'><a href='#'>X Close</a>" +    "<ul>";

var newLine, el, title, link;

jQuery(".form-wrapper").each(function() {

  el = jQuery(this).find('input');
  elLabel = jQuery(this).find('label:first');   
  title = elLabel.text();
  link = "#" + el.attr("id");
	var $li= $("<li>");
	var $aa=$("<a>").attr("href",link);
	$li.append($aa);
	$ul.append($li);
	/*
  newLine =
    "<li>" +
      "<a href='" + link + "'>" +
        title +
      "</a>" +
    "</li>";
  ToC += newLine;
	*/
});

//ToC +=   "</ul>" +  "</nav>";

var $divanch=$("<div id='sticky-anchor'>");
var $divsticky=$("<div id='sticky'>");
var $atoc=$("<a href='#toc'>").html("&#9776; Table of Contents");
$divsticky.append($atoc);

jQuery(".page-node-add-application #page").append($divanch);
jQuery(".page-node-add-application #page").append($divsticky);
jQuery(".page-node-add-application #page").prepend($nav);
});