选择第n个元素并执行字符串操作

时间:2013-02-21 13:58:07

标签: jquery jquery-selectors replace

如何在下面的HTML中选择第二个dd元素的值? (编辑:这只是一个小列表,实际列表要长得多)。 如果可能的话,也从值中移除?

<dl class="field field-name-field-movie-genre field-type-taxonomy-term-reference field-label-inline clearfix">
    <dt>Genre</dt>
    <dd class="even">Love / Romance,</dd>
    <dd class="odd">Comedy,</dd>
    <dd class="even">Action</dd>
</dl>

5 个答案:

答案 0 :(得分:3)

由于它具有“奇数”类,因此您应该能够将其用作选择器:

$('.odd')

或者,如果您想将其定义为字段元素的子元素,则可以使用:

$('.field .odd')

<强>更新

要按位置选择特定元素,您可以使用:nth-child()选择器:

$('.field :nth-child(2)')

答案 1 :(得分:1)

var e = $("dl dd:eq(1)");
e.text(e.text().slice(0,-1));

答案 2 :(得分:1)

我认为这样的事情应该有效

$('dl dd').eq(1).text().replace(/,/g,"");

答案 3 :(得分:1)

您可以使用:nth-child() jQuery选择器和JavaScript替换字符串操作:

$('.field :nth-child(2)').val($('.field :nth-child(2)').val().replace(',', ''));

答案 4 :(得分:0)

没有直接回答这个问题,但是根据你发布的内容,似乎最好去除服务器端不需要的字符而不是使用javascript / jquery。这样可以使页面更容易缓存,从而为用户带来更好的性能。

我假设列表是使用php或类似的应用程序生成的。只需将string replace过滤器添加到生成html列表的任何函数中。