我正在使用jquery在前端做一些工作。我在我的html 中有以下元素
<div id="filtering" class="top-buffer">
<div class="container">
<div class="row">
<div class="col-md-12">
<ul class="event-list" id="appending">
</ul>
</div>
</div>
</div>
</div>
<script>
function getQuoteRow(value){
$str='';
$str+= '<li>';
$str+= '<time datetime=""><span class="month">'+value.category_name+'</span></time>';
$str+= '<div class="info" style="background-color:#'+value.bg_color_picker+'">';
$str+= ' <h3 class="title" >';
$str+= value.quote.replace(/''/g, "");
$str+= '</div>';
$str+= '<div class="social"><ul>';
$str+= '<li class="pencil" style="width:33%;"><a href="/admin/viewQuotes?edit=ok&id='+value.quote_id+'" class="icon-pencil"><span class="fa fa-pencil"></span></a></li>';
$str+= '<li class="trash" style="width:33%;"><a href="/admin/viewQuotes?delete=ok&id='+value.quote_id+'" onclick="return delConfirm()" class="icon-trash"><span class="fa fa-trash"></span></a></li>';
$str+= '<li class="facebook" style="width:33%;"><a href="#facebook"><span class="fa fa-facebook"></span></a></li>';
$str+= '<li class="twitter" style="width:34%;"><a href="#twitter"><span class="fa fa-twitter"></span></a></li>';
$str+= '</ul></div>';
$str+= '</li>';
return $str;
}
</script>
下面介绍如何在jquery中选择来追加一行?我使用了以下选择器,但它不起作用,这些是
$("#filtering ul").append(getQuoteRow(value));
$("#appending").append(getQuoteRow(value));
但是当我调用$("#filtering").append(getQuoteRow(value))它附加在div标记下。。
如何选择ul??
您可以像这样使用
$("#appending").append(getQuoteRow(value))
参考示例
$("#appending").append("<li>test</li>")
当我调用$("#filtering").append(getQuoteRow(value))时;它附加在div标签下
这是因为div具有id filtering
,而#filtering
将选择id为filtering
的元素。您也有ul元素的id,即appending
。您可以使用:
$("#appending").append(getQuoteRow(value));
在您的函数中,您的H3标签是打开的,但不是关闭的
$str+= ' <h3 class="title" >';
需要像这样的地方
$str+= '</h3>';