使用:nth-​​child选择行并追加

时间:2012-04-27 00:05:47

标签: javascript jquery html append css-selectors

我正在做一个大学项目,我从一个设置的xml文件中提供信息,然后使用jQuery作为单独的段落将其放入一个set div。

目前,正在喂食的是这样的:

<p class="speech">Blah</p>
<p class="line">Blah</p>
<p class="line">Blah</p>
<p class="line">Blah</p>
<p class="line">Blah</p>
<p class="speech">Blah</p>
<p class="line">Blah</p>

该模块的一个要求是每隔5行编号,我认为最简单的方法是使用以下内容:

$("#contents_txt p:nth-child(5n)").append("<span> - 5th</span>");

然而,不是在每个第5行的末尾添加“5th”,而是多次添加它:

  

伯爵夫人

     

在送我儿子的时候,我埋葬了第二任丈夫。

     

BERTRAM

     

我要去,女士,为我父亲的去世哭泣

     

重新:但我必须参加陛下的指挥,到 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 第5 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日 - 5日

我无法弄清楚为什么会发生这种情况,因为如果我改为像.css选择器这样的东西,我可以将样式应用到每个第5行。

非常感谢任何帮助!

提前致谢!

修改

我已经做了一个jsfiddle:http://jsfiddle.net/LfpMm/但它似乎在准系统环境中工作。

我可以获得一个工作示例:http://immbudden.com/siab/siab.html

为了了解我的意思:点击一个游戏,点击内容导航,点击一个场景,你会看到发生了什么。

感谢。

1 个答案:

答案 0 :(得分:1)

查看localscripts.js文件。在这一行

$(this).find("LINE").each(function(){
    $("#contents_txt").append("<p class='line'>"  + $(this).text() + "</p>");
    $("#contents_txt p:nth-child(5n)").append("<span> - 5th</span>");
});

也许移动第二个附加出.each函数所以

$(this).find("LINE").each(function(){
    $("#contents_txt").append("<p class='line'>"  + $(this).text() + "</p>");
});

    $("#contents_txt p:nth-child(5n)").append("<span> - 5th</span>");