Я делаю Reddit как веб-сайт на французском языке, и для полной оптимизации я получаю результаты, кэшируя его, а затем через jQuery запрашивая каждую ссылку, чтобы увидеть, были ли они опущены/upvoted.
Что вы думаете об этом для оптимизации запросов?
Почему это не работает! Вот мой код.
HTML:
<div class="box ajax_div" title="3">
<div class="score">
<a href="#" class="upvote_position" title="post-up-3"><img src="images/up.png" /></a>
<div class="score_position">1</div>
<a href="#" class="downvote_position" title="post-down-3"><img src="images/down.png" /></a>
</div>
<div class="box_info">
<div class="link">
<a href="#" class="text-show"><a href="?show=3" rel="nofollow" class="out">ouioui</a>
</div>
<div class="further">
<span class="date" title="2012-04-25 04:57:05">il y a 13 heures</span> | posté par <a href="?user=david">david</a> dans <a href="?chan=100hp.fr">100hp.fr</a>
</div>
<div class="further_more">
<a href="?show=3"><img src="images/comment.png" />2 commentaires</a> <a href="#" class="save" title="3"><img src="images/save.png" />sauvegarder le lien</a> <a href="#" class="spam" title="3"><img src="images/report.png" />spam?</a>
</div>
</div>
<div class="textbox" style="display:none;">razraz</div>
</div>
JavaScript:
$(".box").each(function(index){
ele = $('.box').eq(index);
$.get("ajax/score.php",
{ idbox: ele.attr('title'), type: "post" },
function(data) {
ele.find(".score_position").html(data);
});
});
У меня есть несколько коробок, как это, и это влияет только последний из них. Я сначала пробовал без индекса и eq (index), и он делает то же самое.
так, что было просто проблема с js ... Я чувствую себя глупо сейчас, спасибо большое! –
@ Давид 天宇 Вонг: Не нужно чувствовать себя глупо. Опущение 'var' - довольно распространенная ошибка. – Tadeck
@ Давид 天宇 Вонг: Я добавил улучшение. Вместо того, чтобы снова выбирать 'ele', вы можете просто использовать' $ (this) 'и получить тот же объект. – Tadeck