我知道我可以做到这一点
$('.intro').append('<p>this is my text</p>');
但是如何通过链接来发送新元素
$('.intro').append('<p></p>').text('this is my text');
答案 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)
您可以使用以下两种方法之一:
$('.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;
问题是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');
});