发布于: 使用 jQuery 核心 > 常见问题

如何替换列表中的第3个元素中的文本(该列表共10个元素)?

无论是使用 :eq() 选择器还是 .eq() 方法,都可以选中正确的元素。但是,要替换文本,必须先获取值,然后再设置它。

1
2
3
4
5
6
7
8
9
// This doesn't work; text() returns a string, not the jQuery object:
$( this ).find( "li a" ).eq( 2 ).text().replace( "foo", "bar" );
// This works:
var thirdLink = $( this ).find( "li a" ).eq( 2 );
var linkText = thirdLink.text().replace( "foo", "bar" );
thirdLink.text( linkText );

第一个示例只是丢弃了修改后的文本。第二个示例保存了修改后的文本,然后用新的修改后的文本替换旧文本。请记住,.text() 用于获取;.text( "foo" ) 用于设置。