我遇到了jquery的问题。我的HTML是
<div id="first">
<span class="test"></span>
</div>
<div id="second">
<span class="test"></span>
<div>
现在我尝试使用Jquery
在span中添加文本$j('span.test').text('Welcome');
之后就变成了,
<div id="first">
<span class="test">Welcome</span>
</div>
<div id="second">
<span class="test">Welcome</span>
<div>
但是,我正在努力实现的是,
<div id="first">
<span class="test">Welcome</span>
</div>
<div id="second">
<span class="test"></span>
<div>
我怎么能在jquery中做到这一点?
由于
答案 0 :(得分:9)
其他人已经提供了他们的答案,但让我给你一些更多的选择。
$("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优化可能证明我未来的任何版本都有错误)
这是一个JSPerf test表现,比较了更高的可能性。正如预期的那样,第二种和最后一种方法是最快的,因为元素选择大大简化了。我已尝试在Chrome上运行它们,如果您愿意,可以在其他浏览器中运行它们并查看差异。
答案 1 :(得分:4)
$('#first span.test').text('Welcome');
jQuery选择器是CSS选择器,扩展了一点魔力。您可以在此处找到您需要了解的所有信息:http://api.jquery.com/category/selectors/
答案 2 :(得分:1)
您需要使用:first
选择器来表示您只想将文本添加到选择器找到的第一个元素。试试这个:
$j('span.test:first').text('Welcome');
或者,您可以使用父div的id
使选择器唯一:
$j('#first .test').text('Welcome');
答案 3 :(得分:0)
在这个例子中,你可以做什么RoRyMcCrossan 对于一般选择,我建议您查看:http://api.jquery.com/child-selector/
或者你可以使用这个
答案 4 :(得分:0)
由于您有一个ID,通常在一个页面上是唯一的,因此最好使用以下内容:
$("#first span.test").text("Welcome");