1

我有使用这个 jQuery 选择器获得的各种a元素:

$("#toc").find("li a")

如果一个元素文本是“第一秒”(并且所有元素的文本都是由空格分隔的两个单词)我只想显示第一个单词,在这个例子中元素的文本应该是first,这可能吗?

4

2 回答 2

1

您可以对每个元素应用文本过滤器:

$("#toc").find("li a").text(function() {
    return $(this).text().split(' ')[0];
});​

JSFiddle 演示

请记住,我没有考虑可能只有一个词或没有词的情况。

于 2012-12-22T15:24:07.957 回答
1

您可以将第二个单词包装在 a 中span,并隐藏它:

$('#toc li a').html( function(i, h) {
    var words = h.split(/\s/);
    return words[0] + ' <span>' + words[1] + '</span>';
});

JS 小提琴演示

使用 CSS:

#toc li a span {
    display: none;
}

要解决可能有两个以上单词的情况:

$('#toc li a').html( function(i, h) {
    var words = h.split(/\s/);
    return words[0] + ' <span>' + words.slice(1).join(' ') + '</span>';
});

JS 小提琴演示

于 2012-12-22T15:27:20.867 回答