jQuery元素只显示文本的一部分

时间:2012-12-22 15:19:35

标签: javascript jquery dom

我有这个jQuery选择器的各种a元素:

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

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

2 个答案:

答案 0 :(得分:1)

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

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

<强> JSFiddle Demo

请记住,我没有说明只有一个单词或没有单词的情况。

答案 1 :(得分:1)

你可以将第二个单词包装在span中,然后隐藏:

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

JS Fiddle demo

使用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 Fiddle demo