2010-05-05 99 views
2

我试图用不同的hrefs创建一个数组,然后附加到5个单独的元素。hrefs的Javascript数组

这是我的代码:

var link = new Array('link1', 'link2', 'link3', 'link4', 'link5'); 

        $(document.createElement("li")) 
        .attr('class',options.numericId + (i+1)) 
        .html('<a rel='+ i +' href=\"page.php# + 'link'\">'+ '</a>') 
        .appendTo($("."+ options.numericId)) 

正如你可以看到我试图从阵列到我的网页的末尾添加这些项目等各个环节将采取用户对页面的不同部分。但我一直无法做到这一点。有没有办法创建具有不同链接的元素?

我是新来的JavaScript,所以我很抱歉,如果这并没有很大的意义。如果有人对我在这里问的问题感到困惑,我可以尝试澄清一下,如果我得到一些反馈。

我想输出的代码是:

<ul class="controls"> 
    <li class="controls1"><a href="page.php#link1"></a></li> 
    <li class="controls2"><a href="page.php#link2"></a></li> 
    <li class="controls3"><a href="page.php#link3"></a></li> 
    <li class="controls4"><a href="page.php#link4"></a></li> 
    <li class="controls5"><a href="page.php#link5"></a></li> 
    </ul> 

这是类似什么我得到,但是当我申请的是安德烈descalzo已经提供了修复,我的列表元素的每一个重复自己的5倍。

任何解决方案将不胜感激。

感谢,

杰森

+0

为什么不把它直接放到你的html文件中? – 2010-05-05 16:30:49

回答

1

这样的事情?:

*编辑II *发表评论

var link = ['strategy', 'branding', 'marketing', 'media', 'management'], 
      refNumericId = $("."+ numericId); 

    $(link).each(function(i, el){ 

     $("<li></li>") 
      .attr("id", numericId + "_" + (i+1)) 
      .attr("class", numericId + (i+1)) 
      .html("<a href=\"capabilities.php#"+el+"\"></a>") 
      .appendTo(refNumericId); 

    }); 

我看见你的代码的文件“中easySlider1.7 .js',并且你在123行的'for'中包含代码'var link = ['strategy',''应该在'之后'为'

+0

嗨, 感谢您的回应。此方法适用于追加链接。但是,它正在创建我的每个列表元素5次。有想法该怎么解决这个吗。 再次非常感谢你的帮助。 Jason – Jason 2010-05-05 17:36:45

+0

您共创建25个链接。你调用五次变量“链接”? – 2010-05-05 17:51:48

+0

让我试着更清楚地解释。我只想调用变量链接1次。创建5个不同的链接。这看起来像是http://www.perksconsulting.com/dev/index.php。我正在尝试向底部的5个图标中的每一个附加不同的href。这些hrefs是5个链接.. link1,link2等 使用你的方法,我可以追加我想要的图标的hrefs,但它创建每个图标5次,当我只希望他们每一次。 谢谢你的帮助。 – Jason 2010-05-05 18:29:45

4

我不知道你想要什么,因为在你的代码中的一些不确定的价值观和语法错误,但这里是如何创建数组中的元素,并添加到现有ul元素的例子:

$(function(){ 
    $.each(['link1', 'link2', 'link3', 'link4', 'link5'], function(i, link){ 
     $('<li/>') 
     .append(
      $('<a/>') 
      .attr({ 'class': 'c' + i, ref: i, href: 'page.php#' + link }) 
      .text(link) 
     ).appendTo('ul'); 
    }); 
}); 

与现有ul元件,它产生:

<ul> 
    <li><a class="c0" ref="0" href="page.php#link1">link1</a></li> 
    <li><a class="c1" ref="1" href="page.php#link2">link2</a></li> 
    <li><a class="c2" ref="2" href="page.php#link3">link3</a></li> 
    <li><a class="c3" ref="3" href="page.php#link4">link4</a></li> 
    <li><a class="c4" ref="4" href="page.php#link5">link5</a></li> 
</ul> 

(代替数组文本[...]当然,你可以使用一个数组变量。)