我有使用这个 jQuery 选择器获得的各种a
元素:
$("#toc").find("li a")
如果一个元素文本是“第一秒”(并且所有元素的文本都是由空格分隔的两个单词)我只想显示第一个单词,在这个例子中元素的文本应该是first
,这可能吗?
我有使用这个 jQuery 选择器获得的各种a
元素:
$("#toc").find("li a")
如果一个元素文本是“第一秒”(并且所有元素的文本都是由空格分隔的两个单词)我只想显示第一个单词,在这个例子中元素的文本应该是first
,这可能吗?
您可以对每个元素应用文本过滤器:
$("#toc").find("li a").text(function() {
return $(this).text().split(' ')[0];
});
请记住,我没有考虑可能只有一个词或没有词的情况。
您可以将第二个单词包装在 a 中span
,并隐藏它:
$('#toc li a').html( function(i, h) {
var words = h.split(/\s/);
return words[0] + ' <span>' + words[1] + '</span>';
});
使用 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>';
});