Jquery将文本添加到新的附加元素

时间:2017-02-15 14:47:24

标签: jquery text append

我知道我可以做到这一点

  $('.intro').append('<p>this is my text</p>');

但是如何通过链接来发送新元素

  $('.intro').append('<p></p>').text('this is my text');

4 个答案:

答案 0 :(得分:5)

.append()调用返回运行它的元素(代码中的.intro元素),而不是附加元素(代码中的p)。 如果您愿意,可以将创建与p元素的附加分开,如下所示:

var $p = $('<p />').append('your text goes here');   
    // and then you can: 
    $('.intro').append($p); // this returns the '.intro' element
    // or
    $p.appendTo($('.intro')); // this returns the $p element...
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="intro"></div>

答案 1 :(得分:1)

您可以使用以下两种方法之一:

&#13;
&#13;
$('.intro1').append($('<p/>').text('this is my text'));

$('.intro2').append('<p></p>').find('p:last-child').text('this is my text');
&#13;
div {
  border: 1px solid red;
  margin: 5px;
}
p {
  border: 1px solid green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="intro1"></div>
<div class="intro2"></div>
&#13;
&#13;
&#13;

问题是append会返回父元素(而不是您刚刚添加的元素)。

答案 2 :(得分:0)

好的,让我帮忙 如果你必须附加一个文本并将其附加到id,请按照这样做

$("<p> Hello this is a text</p>").appendTo($("#item"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

<div id="item">Append now</div>

答案 3 :(得分:-1)

它应该像你想要的那样工作! :)

$('.intro').append('<p></p>').find('p:last').text('this is my text');

你也错过了那里的单引号。

更新

这更正确jQuery将等到append()真正完成100%:

注意:上面的方法很有效,但是很苛刻

$('.intro').append('<p></p>').promise().done(function() {
    $(this).find('p:last').text('this is my text');
});