2012-12-22 38 views
1

我有各種各樣的a元素,我得到這個jQuery選擇:jQuery的元素只顯示文本的一部分

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

如果一個元素的文字是「第一第二」(與所有元素的文字是兩個字除以空格)我只想顯示第一個單詞,在本例中元素的文本應該是first,這可能嗎?

回答

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

1

您可以應用一個文本過濾器,每一個元素:

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

JSFiddle Demo

請記住,我沒有佔到情況下,有可能是隻有一個字或無話。