我如何使用jQuery将文本添加到特定的div元素?

我遇到了jquery的问题。我的HTML是

现在我尝试使用Jquery在span中添加文本

 $j('span.test').text('Welcome'); 

之后就变成了,

 
Welcome
Welcome

但是,我正在努力实现的是,

 
Welcome

我怎么能在jquery中做到这一点?

谢谢

几种可能的选择

其他人已经提供了他们的答案,但让我给你一些更多的选择。

 $("span.test:first").text("Welcome"); $("#first span.test").text("Welcome"); $("span.test").first().text("Welcome"); $("span.test").eq(0).text("Welcome"); $("span.test", "#first").text("Welcome"); 

第二个和最后一个可能是最快的,因为它们通过ID定位特定容器。
(内部jQuery优化可能certificate我的任何未来版本都有问题)

性能比较

这是一个JSPerf测试 ,性能比较了更高的可能性。 正如预期的那样,第二种和最后一种方法是最快的,因为元素选择非常简单。 我已尝试在Chrome上运行它们,如果您愿意,可以在其他浏览器中运行它们并查看差异。

 $('#first span.test').text('Welcome'); 

jQuery选择器是CSS选择器,扩展了一点魔力。 您可以在此处找到您需要了解的所有信息: http : //api.jquery.com/category/selectors/

您需要使用:first选择器表示您只想将文本添加到选择器找到的第一个元素。 试试这个:

 $j('span.test:first').text('Welcome'); 

示例小提琴

或者,您可以使用父div的id使选择器唯一:

 $j('#first .test').text('Welcome'); 

在这个例子中你可以做什么RoRyMcCrossan对于一般选择,我建议你看看这个: http ://api.jquery.com/child-selector/

或者你可以使用它

http://api.jquery.com/eq-selector/

由于您有一个ID,通常在一个页面上是唯一的,因此最好使用以下内容:

 $("#first span.test").text("Welcome");