将数组项添加到现有标头标记,作为数据切换

时间:2013-11-15 10:09:26

标签: javascript jquery arrays

我目前正在使用expressionengine构建一个网站,并希望将动态数据切换到一些标题3标记,这些标记也会动态显示在网页上。当用户在网站上创建“部分”时,它会创建一个<h3><div>,其中包含他们输入的信息。这一切都正常,但我希望使用Javascript将数据切换应用于标头3标签(一旦对其进行排序,将ID应用于div)。我创建了一段javascript,其中包括:

$(function(){
  {exp:channel:entries channel="page" dynamic="yes"}
    var toggles = new Array(
      {body}"{section_title}"{if row_count != total_rows},{/if}{/body}
    );
  {/exp:channel:entries}

  $.each( toggles, function( i, val ) {
    $('.about-content h3').attr("data-toggle", val);
  });
});

那里有一些表达式代码,但这本质上是一个循环。所以会发生什么是循环抓取网页上的部分标题,然后将int插入到数组中。这一切都很好,输出如下:

var toggles = new Array("Values","Accreditations","Careers","Downloads");

旁注:一旦此位排序,我将删除大写字符和空格

之前我没有在JavaScript / jQuery中使用过数组,所以我很难输出每个条目作为h3标签的数据切换,这些标签是在页面中进一步动态生成的。 <h3>标签已经存在,因此不需要使用该功能创建。

因此,在此示例中,将连续有四个<h3>个标记。我可以浏览每个数组项目,然后将项目逐个添加到每个<h3>吗?

目前,当我使用Firebug检查元素时,它会显示如下代码:

<h3 data-toggle="Downloads">Values</h3>
<h3 data-toggle="Downloads">Accreditations</h3>
<h3 data-toggle="Downloads">Careers</h3>
<h3 data-toggle="Downloads">Downloads</h3>

但是,如果我查看源代码,它会显示为:

<h3 data-toggle="">Values</h3>
<h3 data-toggle="">Accreditations</h3>
<h3 data-toggle="">Careers</h3>
<h3 data-toggle="">Downloads</h3>

非常感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果有人有兴趣的话,我已经成功地解决了这个问题。

$(function(){
  {exp:channel:entries channel="page" dynamic="yes"}
    var toggles = new Array(
      {body}"{section_title}"{if row_count != total_rows},{/if}{/body}
    );
  {/exp:channel:entries}

  $('.about-content h3').each(function(val) {
    $(this).attr("data-toggle" , toggles[val]);
  });
});

据我所知(我可能没有)我只是说每个.about-content h3添加一个数组条目作为data-toggle属性。