0

我使用以下代码将处理程序挂钩到按钮。我希望每次点击都会<h1><p>. 但无论我点击多少次,总是只有 1 <h1>次。为什么?

$("#click_me").click(function () {
    $("p").append($('h1').text('i am new bold2'));
});
4

3 回答 3

10

您不是在创建新的h1,而是选择h1页面中已经存在的元素,然后将其附加到p元素中。

当你说(元素选择器)时,你正在使用h1作为选择$('h1')器,而不是如果你想创建一个新元素,你必须说$('<h1 />')

$("#click_me").click(function () {
    $("p").append($('<h1 />').text('i am new bold2'));
});

演示:小提琴

我使用的另一个版本是

$("#click_me").click(function () {
    $("p").append($('<h1 />', {
        text: 'i am new bold2'
    }));
});
于 2013-11-12T15:15:14.950 回答
4

你不能只做 $('h1') 来创建一个 <H1> 你需要使用 $('<h1 />')

$("#click_me").click(function () { $("p").append($('<h1 />').text('i am new bold2')); });
于 2013-11-12T15:15:24.823 回答
4

$('h1')不创建元素,它引用任何现有h1元素(其中有一个)。为了创建一个,您需要选择器包含整个标签结构:

$('<h1 />')
于 2013-11-12T15:16:32.510 回答