Jquery Div排序。包含来自另一页的内容
我正在尝试以下方法: 从另一个页面获取内容,然后对其进行排序。 我在脚本中看到内容时遇到问题 JQUERY:Jquery Div排序。包含来自另一页的内容,jquery,sorting,html,get,Jquery,Sorting,Html,Get,我正在尝试以下方法: 从另一个页面获取内容,然后对其进行排序。 我在脚本中看到内容时遇到问题 JQUERY: <script type="text/javascript"> $(document).ready( function(){ $.get('test.php', function(receivedHtml) { var neededHtml=$(receivedHtml).fin
<script type="text/javascript">
$(document).ready(
function(){
$.get('test.php', function(receivedHtml) {
var neededHtml=$(receivedHtml).find('.news_date-1').html();
$('#news_date-1').append(neededHtml);
});
$.get('test.php', function(receivedHtml) {
var neededHtml=$(receivedHtml).find('.news_date-2').html();
$('#news_date-2').append(neededHtml);
});
$.get('test.php', function(receivedHtml) {
var neededHtml=$(receivedHtml).find('.news_date-3').html();
$('#news_date-3').append(neededHtml);
});
function sortDescending(a, b) {
var date1 = $(a).find(".year").text();
date1 = date1.split('-');
date1 = new Date(date1[2], date1[1], date1[0]);
var date2 = $(b).find(".year").text();
date2= date2.split('-');
date2= new Date(date2[2], date2[1], date2[0]);
return date1 < date2 ? 1 : -1;
};
$('#all_elements .news-item').sort(sortDescending).appendTo('#all_elements');
});
</script>
TEST.php
<div class="news_date-1" title="01 - Nieuws datum">20-11-2009</div>
<div class="news_date-2" title="02 - Nieuws datum">30-11-2012</div>
<div class="news_date-3" title="03 - Nieuws datum">01-05-2000</div>
Destenation.html
<div id="all_elements">
<div class="news-item">
<div id="news_date-1" class="year"></div>
</div>
<div class="news-item">
<div id="news_date-2" class="year"></div>
</div>
<div class="news-item">
<div id="news_date-3" class="year"></div>
</div>
</div>
他自己的分类很好,也就是说,当我把一个日期直接输入到div时
但是当我把它和$get一起使用时,它就不起作用了
有什么帮助吗?您不必三次请求同一页面。相反,使用一个请求并对每个操作使用响应 确保函数在相关作用域中可用。当在$document.readyfunction{}中定义函数时,$document.ready包装器之外的代码无法使用该函数 笔记: neededHtml.find.news\u date-1相当于$.news\u date-1,neededHtml .sort函数的返回值不应为-1或1。相反,将这两个值彼此相减。 $EenTwee.html返回第一个元素内的html:Een。必须先将html附加到容器中,然后才能使用。按预期查找:$.appendhtml $…appendhtml-变量html可以是字符串,也可以是JQuery/DOM对象。除非要创建元素的副本,否则在追加之前不必使用.html。 小提琴: 优化代码:
这似乎不起作用。。。它将所有内容放在最后一个分区中,但没有排序。。。
$(document).ready(function(){
function sortDescending(a, b) {
var date1 = $(".year", a).text().split("-");
date1 = new Date(date1[2], date1[1], date1[0]);
var date2 = $(".year", b).text().split("-");
date2 = new Date(date2[2], date2[1], date2[0]);
return date1 - date2;
/* date1 - date2 = 2000, 2009, 2012. To get the reverse order, use:
return date2 - date1;
*/
};
//
$.get('test.php', function(html) {
var neededHtml = $("<div>").append(html);
var neededHtml1 = $('.news_date-1', neededHtml);
$('#news_date-1').append(neededHtml1);
var neededHtml2 = $('.news_date-2', neededHtml);
$('#news_date-2').append(neededHtml2);
var neededHtml3 = $('.news_date-3', neededHtml);
$('#news_date-3').append(neededHtml3);
$('#all_elements .news-item').sort(sortDescending).appendTo('#all_elements');
});
});