我不明白为什么我的jquery没有将元素附加到我的网页
这是代码
<script>
$(document).ready(function() {
$(function() {
$("#button<?php echo $data['id']; ?>").click(function(e) {
--> Append $(this).append("<p id='xxxx'> </p>");
$.ajax({
type: "POST",
url: "<?php echo Yii::app()->createUrl('post/create'); ?>",
success: function(data) {
$("#xxxx").html(data);
}
});
});
});
});
</script>
有人有想法吗?
感谢您的帮助
答案 0 :(得分:0)
您可能需要after()
因为按钮不会包含p
作为输入类型=&#34;按钮&#34;不是容器控件。
$(this).after("<p id='xxxx'> </p>");
如果需要,您可以使用包含p
的标记
<强> Live Demo 强>
HTML
<div>
Div containing button tag
<button id="buttoncontrol" />
</div>
的Javascript
$('#buttoncontrol').append("<p>this is p</p>");
答案 1 :(得分:0)
<button></button>
不包含像此<button><p>your para</p></button>
所以,你可能会尝试附加这样的文字:
$(this).text("your_text");
或者,您想要在按钮后追加,然后您可以这样做:
$(this).after('<p id="xxxx" />');
或者,像这样:
$('<p id="xxxx" />').insertAfter($(this));
答案 2 :(得分:0)
尝试这样做:
$(function () {
$("#button<?php echo $data['id']; ?>").click(function (e) {
var $this = $(this);
$.ajax({
type: "POST",
url: "<?php echo Yii::app()->createUrl('post/create'); ?>",
success: function (data) {
$this.after("<p id='xxxx'>" + data + "</p>");
}
});
});
});
由于<button>
不能包含<p>
元素,因此您需要在按钮后添加段落。
此外,您只需要一个DOM就绪处理程序$(function() {...});
。