生成';a';使用Jquery动态标记

生成';a';使用Jquery动态标记,jquery,html,dynamic,Jquery,Html,Dynamic,我有这样的“a”列表: <div id="page"> <a href="#">2</a> <a href="#">3</a> <a href="#">4</a> </div> 目前,我必须将列表设置为HTML,但由于我将使用~500次'a',我需要将其作为某个jquery事件的结果生成 “a”标记的总量由SomeFunction()给出 如何生成(例如on.click)由Some

我有这样的“a”列表:

<div  id="page">

 <a href="#">2</a>
 <a href="#">3</a>
 <a href="#">4</a> 

</div>

目前,我必须将列表设置为HTML,但由于我将使用~500次'a',我需要将其作为某个jquery事件的结果生成

“a”标记的总量由
SomeFunction()给出

如何生成(例如on.click)由
SomeFunction()给定的确切数量的“a”标记

ps还应生成html编号。

$('#页')。追加($('..');
$('#page').append($('<a>...</a>'));
需要多少次就有多少次;
$('#myButton').click(function(){
  var number = SomeFunction();
  for(var i=0; i<number; i++){
    $('#page').append('<a href="whatever.com">Text here</a>');
  }
});
您可以根据需要多次单击(“#myButton”)。单击(函数(){
$('#myButton').click(function(){
  var number = SomeFunction();
  for(var i=0; i<number; i++){
    $('#page').append('<a href="whatever.com">Text here</a>');
  }
});
var number=SomeFunction(); 对于(var i=0;i
$(“#myButton”)。单击(函数(){
var number=SomeFunction();
for(var i=0;i
//返回带有num链接的数组
函数createLinks(num){
var-links=[];
对于(变量i=0;i
//返回带有num链接的数组
函数createLinks(num){
var-links=[];
对于(变量i=0;i
假设
SomeFunction()
只返回一个整数:

$("#myButton").click(function() {
    var count = SomeFunction();
    var aElements = "";

    for (var i = 0; i < count; i++) {
        aElements += "<a href=\"#\">" + i + "</a>";
    }

    $("#page").append(aElements);
});
$(“#我的按钮”)。单击(函数(){
var count=SomeFunction();
var aeelements=“”;
对于(变量i=0;i


不要像其他人建议的那样调用
append()
500次-这会非常慢。假设
SomeFunction()
只返回一个整数:

$("#myButton").click(function() {
    var count = SomeFunction();
    var aElements = "";

    for (var i = 0; i < count; i++) {
        aElements += "<a href=\"#\">" + i + "</a>";
    }

    $("#page").append(aElements);
});
function generateAnchors(count){
    var target = $('#page'), str='';
    for(var i = 0; i < count; i+=1){
        str += "<a href='#'>" + i + "</a>";
    }
    target.empty().append(str);
}
$(“#我的按钮”)。单击(函数(){
var count=SomeFunction();
var aeelements=“”;
对于(变量i=0;i

不要像其他人建议的那样调用
append()
500次-这将非常慢。
函数生成器注释(计数){
function generateAnchors(count){
    var target = $('#page'), str='';
    for(var i = 0; i < count; i+=1){
        str += "<a href='#'>" + i + "</a>";
    }
    target.empty().append(str);
}
var target=$('#page'),str=''; 对于(变量i=0;i
函数generateAnchors(计数){
var target=$('#page'),str='';
对于(变量i=0;i
​    函数getATagCount()
{
返回100;
}
$(“”)。单击(函数()
{
var aArray=[];
对于(变量i=0;i
​    函数getATagCount()
{
返回100;
}
$(“”)。单击(函数()
{
var aArray=[];

对于(var i=0;i为什么需要在jQuery中封装所有这些内容,因为通过自己访问DOM可以轻松高效地创建这些内容

function SomeFunction( len ) {
    var i,
        a,
        coll = document.createDocumentFragment();
        for (i = 1; i <= len; i+=1) {
           a =  document.createElement("a");
           a.href = "#";
           a.appendChild(document.createTextNode( i ));
           coll.appendChild( a );            
        }
   document.getElementById("page").appendChild( coll );
}

    SomeFunction(5);
函数SomeFunction(len){
var i,
A.
coll=document.createDocumentFragment();

对于(i=1;i为什么需要在jQuery中封装所有这些内容,因为通过自己访问DOM可以轻松高效地创建这些内容

function SomeFunction( len ) {
    var i,
        a,
        coll = document.createDocumentFragment();
        for (i = 1; i <= len; i+=1) {
           a =  document.createElement("a");
           a.href = "#";
           a.appendChild(document.createTextNode( i ));
           coll.appendChild( a );            
        }
   document.getElementById("page").appendChild( coll );
}

    SomeFunction(5);
函数SomeFunction(len){
var i,
A.
coll=document.createDocumentFragment();

对于(i=1;i你尝试过什么?在常规Javascript中循环以及在jQuery中创建和附加DOM元素并不是特别困难的概念,而且使用Google可以找到大量信息。我不会问我是否没有在Google上搜索过。可能重复(如果你是这么说的话,我不是那个人…)谢谢大家的回答,我会记住它们以防万一。你尝试过什么?在常规Javascript中循环以及在jQuery中创建和附加DOM元素并不是特别困难的概念,使用Google可以找到大量的信息。如果我没有在Google上搜索,我不会问。可能是重复的(如果你是这么说的话,我就不是那个人了。)谢谢大家的回答,我会记住的,以防万一。非常感谢你们,我一定会用这个!:)(我已经花了一天半的时间在这个上面了……)刚刚看到您的答案。.字符串追加也不是最快的事情。.查看我的解决方案以了解详细信息。@Baz1nga追加数组的速度如何更快?更重要的是,调用函数以获得for循环每次迭代的计数如何更有效?如果性能是关键问题,您甚至不应该使用jQuery来获得可能更高的效率直接访问DOM很容易。我们不是说稍微快一点,而是说速度快一倍。非常感谢你,我一定会用这个!:)(我花了一天半的时间在这个上面…)刚刚看到您的答案。.字符串追加也不是最快的事情。.查看我的解决方案以了解详细信息。@Baz1nga追加数组的速度如何更快?更重要的是,调用函数以获得for循环每次迭代的计数如何更有效?如果性能是关键问题,您甚至不应该使用jQuery来获得可能更高的效率直接访问DOM非常容易。我们不是说稍微快一点,而是说快一倍。请参阅