如何使用jQuery附加到span内的<h1>标记?</h1>

时间:2011-03-05 06:49:32

标签: jquery jquery-selectors

jsFiddle

我正在尝试将一些文本追加到跨度中的标题。但我不知道如何附加到实际的标题,而不仅仅是跨度。

风格:

h1 {font-size:250%;color:red;}

HTML:

<span class="note">
    <h1>
        some text
    </h1>
</span>

我跑了这个:

$('.note:first-child').append("more text");

但是文本会在标题标记之后附加,因此没有应用标题样式。如何附加到标题?

4 个答案:

答案 0 :(得分:7)

http://jsfiddle.net/bTubp/2/

$('.note h1:first-child').append("more text");

用于插入每个h1类的第一个.note

$('.note:first-child h1').append("more text");

用于插入第一个h1

.note的内部文本

首先h1的第一个.note

$('.note:first-child h1:first-child').append("more text");

答案 1 :(得分:2)

您的选择器需要一个空间来表达您的意思:

$('.note :first-child').append("more text");

或:

$('.note > :first-child').append("more text");

见DEMOs:

当你说:.note:first-child时,它意味着带有课堂笔记的东西也是其父母的第一个孩子。当你说:.note :first-child时,它意味着是其父母的第一个孩子,并且在某个内容(可能是深层次)中有类注释。当你说:.note>:first-child时,它意味着:是父母的第一个孩子,其父母有课堂笔记,这可能就是你的意思。

我看到在我写完之前已经有很多答案,但我仍然会发布它,因为我希望它能解释为什么你的选择器不起作用。

答案 2 :(得分:1)

$('.note:first-child h1').append("more text");

答案 3 :(得分:0)

$(".note h1:first").append("more text");

这将查找类“.note”,然后是第一个h1标记。